<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>ArNetworking: ArServerBase Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">ArNetworking
   &#160;<span id="projectnumber">dev20161014</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classArServerBase.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="#friends">Friends</a> &#124;
<a href="classArServerBase-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">ArServerBase Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Base server for all networking services.  
 <a href="classArServerBase.html#details">More...</a></p>

<p><code>#include &lt;ArServerBase.h&gt;</code></p>
<div class="dynheader">
Inheritance diagram for ArServerBase:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classArServerBase.png" usemap="#ArServerBase_map" alt=""/>
  <map id="ArServerBase_map" name="ArServerBase_map">
<area doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArASyncTask.html" alt="ArASyncTask" shape="rect" coords="0,56,93,80"/>
<area doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html" alt="ArThread" shape="rect" coords="0,0,93,24"/>
</map>
 </div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase_1_1SlowIdleThread.html">SlowIdleThread</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a5c10bb9e88f0152bcdfd4a69073c43a6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a5c10bb9e88f0152bcdfd4a69073c43a6">addClientRemovedCallback</a> (<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor1.html">ArFunctor1</a>&lt; <a class="el" href="classArServerClient.html">ArServerClient</a> * &gt; *functor)</td></tr>
<tr class="memdesc:a5c10bb9e88f0152bcdfd4a69073c43a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a callback to be invoked when a client has been removed (but before it is deleted)  <a href="#a5c10bb9e88f0152bcdfd4a69073c43a6">More...</a><br /></td></tr>
<tr class="separator:a5c10bb9e88f0152bcdfd4a69073c43a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1dd6a24a2047f58b072e81c0738422d5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a1dd6a24a2047f58b072e81c0738422d5">addCycleCallback</a> (<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor.html">ArFunctor</a> *functor)</td></tr>
<tr class="memdesc:a1dd6a24a2047f58b072e81c0738422d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a callback to be called at every cycle.  <a href="#a1dd6a24a2047f58b072e81c0738422d5">More...</a><br /></td></tr>
<tr class="separator:a1dd6a24a2047f58b072e81c0738422d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2df604c980c35140f69d35362a3403f2"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a2df604c980c35140f69d35362a3403f2">addData</a> (const char *name, const char *description, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2.html">ArFunctor2</a>&lt; <a class="el" href="classArServerClient.html">ArServerClient</a> *, <a class="el" href="classArNetPacket.html">ArNetPacket</a> * &gt; *functor, const char *argumentDescription, const char *returnDescription, const char *commandGroup=NULL, const char *dataFlags=NULL)</td></tr>
<tr class="memdesc:a2df604c980c35140f69d35362a3403f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a callback to be called when requests for some data are recieved.  <a href="#a2df604c980c35140f69d35362a3403f2">More...</a><br /></td></tr>
<tr class="separator:a2df604c980c35140f69d35362a3403f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ab8869702eccf72ad8502b3017b9840"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a6ab8869702eccf72ad8502b3017b9840">addDataAdvanced</a> (const char *name, const char *description, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2.html">ArFunctor2</a>&lt; <a class="el" href="classArServerClient.html">ArServerClient</a> *, <a class="el" href="classArNetPacket.html">ArNetPacket</a> * &gt; *functor, const char *argumentDescription, const char *returnDescription, const char *commandGroup=NULL, const char *dataFlags=NULL, unsigned int commandNumber=0, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2.html">ArFunctor2</a>&lt; long, unsigned int &gt; *requestChangedFunctor=NULL, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRetFunctor2.html">ArRetFunctor2</a>&lt; bool, <a class="el" href="classArServerClient.html">ArServerClient</a> *, <a class="el" href="classArNetPacket.html">ArNetPacket</a> * &gt; *requestOnceFunctor=NULL)</td></tr>
<tr class="memdesc:a6ab8869702eccf72ad8502b3017b9840"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a callback for requests in a more advanced manner, for internal use.  <a href="#a6ab8869702eccf72ad8502b3017b9840">More...</a><br /></td></tr>
<tr class="separator:a6ab8869702eccf72ad8502b3017b9840"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa3b9a97e42df6d21c84facbf5885673"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#afa3b9a97e42df6d21c84facbf5885673">addIdleSingleShotCallback</a> (<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor.html">ArFunctor</a> *functor)</td></tr>
<tr class="memdesc:afa3b9a97e42df6d21c84facbf5885673"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds an idle callback to be called once next time the robot is idle.  <a href="#afa3b9a97e42df6d21c84facbf5885673">More...</a><br /></td></tr>
<tr class="separator:afa3b9a97e42df6d21c84facbf5885673"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae83d192ad0c7765050e4b4986ce36377"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#ae83d192ad0c7765050e4b4986ce36377">addTooManyClientsCB</a> (<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor1.html">ArFunctor1</a>&lt; const char * &gt; *functor, int position=50)</td></tr>
<tr class="memdesc:ae83d192ad0c7765050e4b4986ce36377"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a callback when we switch states while starting.  <a href="#ae83d192ad0c7765050e4b4986ce36377">More...</a><br /></td></tr>
<tr class="separator:ae83d192ad0c7765050e4b4986ce36377"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc31eee87d89bb9fe77bd3540433b26c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#acc31eee87d89bb9fe77bd3540433b26c">allowingIdlePackets</a> (void)</td></tr>
<tr class="memdesc:acc31eee87d89bb9fe77bd3540433b26c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets if we're allowing idle packets.  <a href="#acc31eee87d89bb9fe77bd3540433b26c">More...</a><br /></td></tr>
<tr class="separator:acc31eee87d89bb9fe77bd3540433b26c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b5424c9529d3abf77f94e22473a923d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a3b5424c9529d3abf77f94e22473a923d">ArServerBase</a> (bool addAriaExitCB=true, const char *serverName=&quot;&quot;, bool addBackupTimeoutToConfig=true, const char *backupTimeoutName=&quot;RobotToClientTimeoutInMins&quot;, const char *backupTimeoutDesc=&quot;The amount of time the central server can <a class="el" href="clientStringInfoExample_8cpp.html#aee8191c767bcded411aa8c5bd8581ce2">go</a> without sending a packet to the robot successfully (when there are packets to send).  A number less than 0 means this won't happen.  The time is in minutes but takes doubles (ie .5) (5 seconds is used if the value is positive, but less than that amount)&quot;, bool masterServer=false, bool slaveServer=false, bool logPasswordFailureVerbosely=false, bool allowSlowPackets=true, bool allowIdlePackets=true, int maxClientsAllowed=-1, int warningTimeMSec=250)</td></tr>
<tr class="memdesc:a3b5424c9529d3abf77f94e22473a923d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor.  <a href="#a3b5424c9529d3abf77f94e22473a923d">More...</a><br /></td></tr>
<tr class="separator:a3b5424c9529d3abf77f94e22473a923d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf43c74fa075d30ec57eb1ac4221084c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#aaf43c74fa075d30ec57eb1ac4221084c">broadcastPacketTcp</a> (<a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet, const char *name)</td></tr>
<tr class="memdesc:aaf43c74fa075d30ec57eb1ac4221084c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Broadcasts packets to any client wanting this data.  <a href="#aaf43c74fa075d30ec57eb1ac4221084c">More...</a><br /></td></tr>
<tr class="separator:aaf43c74fa075d30ec57eb1ac4221084c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee133514be0a90cddb8fb8937928e935"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#aee133514be0a90cddb8fb8937928e935">broadcastPacketTcpByCommand</a> (<a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet, unsigned int command)</td></tr>
<tr class="memdesc:aee133514be0a90cddb8fb8937928e935"><td class="mdescLeft">&#160;</td><td class="mdescRight">Broadcasts packets to any client wanting this data.  <a href="#aee133514be0a90cddb8fb8937928e935">More...</a><br /></td></tr>
<tr class="separator:aee133514be0a90cddb8fb8937928e935"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a709cfe0356ecde312a8454f582fb26f6"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a709cfe0356ecde312a8454f582fb26f6">broadcastPacketTcpByCommandWithExclusion</a> (<a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet, unsigned int command, <a class="el" href="classArServerClient.html">ArServerClient</a> *excludeClient, bool match=false, <a class="el" href="classArServerClientIdentifier.html">ArServerClientIdentifier</a> identifier=<a class="el" href="classArServerClientIdentifier.html">ArServerClientIdentifier</a>(), bool matchConnectionID=false)</td></tr>
<tr class="memdesc:a709cfe0356ecde312a8454f582fb26f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Broadcasts packets to any client wanting this data.  <a href="#a709cfe0356ecde312a8454f582fb26f6">More...</a><br /></td></tr>
<tr class="separator:a709cfe0356ecde312a8454f582fb26f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5cee7b7a375e96e0e641697bbe17189f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a5cee7b7a375e96e0e641697bbe17189f">broadcastPacketTcpToMatching</a> (<a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet, const char *name, <a class="el" href="classArServerClientIdentifier.html">ArServerClientIdentifier</a> identifier, bool matchConnectionID=false)</td></tr>
<tr class="memdesc:a5cee7b7a375e96e0e641697bbe17189f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Broadcasts packets to any client wanting this data that matches the ID.  <a href="#a5cee7b7a375e96e0e641697bbe17189f">More...</a><br /></td></tr>
<tr class="separator:a5cee7b7a375e96e0e641697bbe17189f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2370b5131dd1fa05f47fbe526954277"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#ae2370b5131dd1fa05f47fbe526954277">broadcastPacketTcpWithExclusion</a> (<a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet, const char *name, <a class="el" href="classArServerClient.html">ArServerClient</a> *excludeClient, bool match=false, <a class="el" href="classArServerClientIdentifier.html">ArServerClientIdentifier</a> identifier=<a class="el" href="classArServerClientIdentifier.html">ArServerClientIdentifier</a>(), bool matchConnectionID=false)</td></tr>
<tr class="memdesc:ae2370b5131dd1fa05f47fbe526954277"><td class="mdescLeft">&#160;</td><td class="mdescRight">Broadcasts packets to any client wanting this data.  <a href="#ae2370b5131dd1fa05f47fbe526954277">More...</a><br /></td></tr>
<tr class="separator:ae2370b5131dd1fa05f47fbe526954277"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1bb0c25a5dc4f2b99907a4f98e749da"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#ad1bb0c25a5dc4f2b99907a4f98e749da">broadcastPacketUdp</a> (<a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet, const char *name)</td></tr>
<tr class="memdesc:ad1bb0c25a5dc4f2b99907a4f98e749da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Broadcasts packets to any client wanting this data.  <a href="#ad1bb0c25a5dc4f2b99907a4f98e749da">More...</a><br /></td></tr>
<tr class="separator:ad1bb0c25a5dc4f2b99907a4f98e749da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1f90e6da9757192c8e349f903c29639"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#ae1f90e6da9757192c8e349f903c29639">broadcastPacketUdpByCommand</a> (<a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet, unsigned int command)</td></tr>
<tr class="memdesc:ae1f90e6da9757192c8e349f903c29639"><td class="mdescLeft">&#160;</td><td class="mdescRight">Broadcasts packets to any client wanting this data.  <a href="#ae1f90e6da9757192c8e349f903c29639">More...</a><br /></td></tr>
<tr class="separator:ae1f90e6da9757192c8e349f903c29639"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1951a33ebf82fd31a0c79d50d622215d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a1951a33ebf82fd31a0c79d50d622215d">broadcastPacketUdpByCommandWithExclusion</a> (<a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet, unsigned int command, <a class="el" href="classArServerClient.html">ArServerClient</a> *excludeClient, bool match=false, <a class="el" href="classArServerClientIdentifier.html">ArServerClientIdentifier</a> identifier=<a class="el" href="classArServerClientIdentifier.html">ArServerClientIdentifier</a>(), bool matchConnectionID=false)</td></tr>
<tr class="memdesc:a1951a33ebf82fd31a0c79d50d622215d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Broadcasts packets to any client wanting this data.  <a href="#a1951a33ebf82fd31a0c79d50d622215d">More...</a><br /></td></tr>
<tr class="separator:a1951a33ebf82fd31a0c79d50d622215d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a645dbba718d2278f8cd601fdf96fdcff"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a645dbba718d2278f8cd601fdf96fdcff">broadcastPacketUdpToMatching</a> (<a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet, const char *name, <a class="el" href="classArServerClientIdentifier.html">ArServerClientIdentifier</a> identifier, bool matchConnectionID)</td></tr>
<tr class="memdesc:a645dbba718d2278f8cd601fdf96fdcff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Broadcasts packets to any client wanting this data that matches.  <a href="#a645dbba718d2278f8cd601fdf96fdcff">More...</a><br /></td></tr>
<tr class="separator:a645dbba718d2278f8cd601fdf96fdcff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaea911b004d1b352ee4657d756c69243"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#aaea911b004d1b352ee4657d756c69243">broadcastPacketUdpWithExclusion</a> (<a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet, const char *name, <a class="el" href="classArServerClient.html">ArServerClient</a> *excludeClient, bool match=false, <a class="el" href="classArServerClientIdentifier.html">ArServerClientIdentifier</a> identifier=<a class="el" href="classArServerClientIdentifier.html">ArServerClientIdentifier</a>(), bool matchConnectionID=false)</td></tr>
<tr class="memdesc:aaea911b004d1b352ee4657d756c69243"><td class="mdescLeft">&#160;</td><td class="mdescRight">Broadcasts packets to any client wanting this data.  <a href="#aaea911b004d1b352ee4657d756c69243">More...</a><br /></td></tr>
<tr class="separator:aaea911b004d1b352ee4657d756c69243"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72a4cff6dcdd01018f7c8c1f8361382c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a72a4cff6dcdd01018f7c8c1f8361382c">close</a> (void)</td></tr>
<tr class="memdesc:a72a4cff6dcdd01018f7c8c1f8361382c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Closes the server.  <a href="#a72a4cff6dcdd01018f7c8c1f8361382c">More...</a><br /></td></tr>
<tr class="separator:a72a4cff6dcdd01018f7c8c1f8361382c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c960c6286e517f0e94936555f35a90d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a5c960c6286e517f0e94936555f35a90d">closeConnectionID</a> (<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArTypes.html#af596f738ccf86d1fa8a64af52ea2f061">ArTypes::UByte4</a> idNum)</td></tr>
<tr class="memdesc:a5c960c6286e517f0e94936555f35a90d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Closes connection with a given connection ID.  <a href="#a5c960c6286e517f0e94936555f35a90d">More...</a><br /></td></tr>
<tr class="separator:a5c960c6286e517f0e94936555f35a90d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a487469dc2b7f5d13d16ca262387cd882"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a487469dc2b7f5d13d16ca262387cd882">dataHasFlag</a> (const char *name, const char *dataFlag)</td></tr>
<tr class="memdesc:a487469dc2b7f5d13d16ca262387cd882"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns if a command has a data flag.  <a href="#a487469dc2b7f5d13d16ca262387cd882">More...</a><br /></td></tr>
<tr class="separator:a487469dc2b7f5d13d16ca262387cd882"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d2745c62afa1f8018081899ab038e25"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a3d2745c62afa1f8018081899ab038e25">dataHasFlagByCommand</a> (unsigned int command, const char *dataFlag)</td></tr>
<tr class="memdesc:a3d2745c62afa1f8018081899ab038e25"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns if a command has a data flag by command number.  <a href="#a3d2745c62afa1f8018081899ab038e25">More...</a><br /></td></tr>
<tr class="separator:a3d2745c62afa1f8018081899ab038e25"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0bfde76563e86f09236bc31809efd3e5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a0bfde76563e86f09236bc31809efd3e5">enforceProtocolVersion</a> (const char *protocolVersion)</td></tr>
<tr class="memdesc:a0bfde76563e86f09236bc31809efd3e5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enforces that the server is using this protocol version.  <a href="#a0bfde76563e86f09236bc31809efd3e5">More...</a><br /></td></tr>
<tr class="separator:a0bfde76563e86f09236bc31809efd3e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af9b9e4b5dd3929151373665efd7ff167"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#af9b9e4b5dd3929151373665efd7ff167">enforceType</a> (<a class="el" href="classArServerCommands.html#a17e8a1248f23b0f1dde4606af34b0efd">ArServerCommands::Type</a> type)</td></tr>
<tr class="memdesc:af9b9e4b5dd3929151373665efd7ff167"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enforces that the robots that connect are this type.  <a href="#af9b9e4b5dd3929151373665efd7ff167">More...</a><br /></td></tr>
<tr class="separator:af9b9e4b5dd3929151373665efd7ff167"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13cb8349b522b278647f94573767021c"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a13cb8349b522b278647f94573767021c">findCommandFromName</a> (const char *command)</td></tr>
<tr class="memdesc:a13cb8349b522b278647f94573767021c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the number of a command.  <a href="#a13cb8349b522b278647f94573767021c">More...</a><br /></td></tr>
<tr class="separator:a13cb8349b522b278647f94573767021c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52220fd0886d836402577107809ad51f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a52220fd0886d836402577107809ad51f">getDebugLogging</a> (void)</td></tr>
<tr class="memdesc:a52220fd0886d836402577107809ad51f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets if this is using debug logging.  <a href="#a52220fd0886d836402577107809ad51f">More...</a><br /></td></tr>
<tr class="separator:a52220fd0886d836402577107809ad51f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d20aeb6f381406d73cf839201440be8"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a6d20aeb6f381406d73cf839201440be8">getFrequency</a> (unsigned int command, bool internalCall=false)</td></tr>
<tr class="memdesc:a6d20aeb6f381406d73cf839201440be8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the frequncy a command is requested (mostly internal)  <a href="#a6d20aeb6f381406d73cf839201440be8">More...</a><br /></td></tr>
<tr class="separator:a6d20aeb6f381406d73cf839201440be8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a206a8be118bc3ca5fe51ddfd138a37c5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a206a8be118bc3ca5fe51ddfd138a37c5">getMostClients</a> (void)</td></tr>
<tr class="memdesc:a206a8be118bc3ca5fe51ddfd138a37c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the most clients we've had connected.  <a href="#a206a8be118bc3ca5fe51ddfd138a37c5">More...</a><br /></td></tr>
<tr class="separator:a206a8be118bc3ca5fe51ddfd138a37c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a555102cca19c7d085affbdf86221422c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a555102cca19c7d085affbdf86221422c">getNumClients</a> (void)</td></tr>
<tr class="memdesc:a555102cca19c7d085affbdf86221422c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the number of clients connected.  <a href="#a555102cca19c7d085affbdf86221422c">More...</a><br /></td></tr>
<tr class="separator:a555102cca19c7d085affbdf86221422c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a901ba41d3054ff06210bb65fc6453cc9"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a901ba41d3054ff06210bb65fc6453cc9">getOpenOnIP</a> (void)</td></tr>
<tr class="memdesc:a901ba41d3054ff06210bb65fc6453cc9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the IP we're opening on (or NULL if there's none)  <a href="#a901ba41d3054ff06210bb65fc6453cc9">More...</a><br /></td></tr>
<tr class="separator:a901ba41d3054ff06210bb65fc6453cc9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad2baa7f9e5d3d62361084f458c9e1c0b"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#ad2baa7f9e5d3d62361084f458c9e1c0b">getTcpPort</a> (void)</td></tr>
<tr class="memdesc:ad2baa7f9e5d3d62361084f458c9e1c0b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the tcp port we're using.  <a href="#ad2baa7f9e5d3d62361084f458c9e1c0b">More...</a><br /></td></tr>
<tr class="separator:ad2baa7f9e5d3d62361084f458c9e1c0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a554da8cc36f349f4b452d1c551de5d78"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a554da8cc36f349f4b452d1c551de5d78">getUdpPort</a> (void)</td></tr>
<tr class="memdesc:a554da8cc36f349f4b452d1c551de5d78"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the udp port we're using.  <a href="#a554da8cc36f349f4b452d1c551de5d78">More...</a><br /></td></tr>
<tr class="separator:a554da8cc36f349f4b452d1c551de5d78"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3729141deeb6dfd667eff708c32aee6"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classArServerUserInfo.html">ArServerUserInfo</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#ab3729141deeb6dfd667eff708c32aee6">getUserInfo</a> (void) const </td></tr>
<tr class="memdesc:ab3729141deeb6dfd667eff708c32aee6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the user info we're using (mostly internal for switching)  <a href="#ab3729141deeb6dfd667eff708c32aee6">More...</a><br /></td></tr>
<tr class="separator:ab3729141deeb6dfd667eff708c32aee6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d797eebecb133853e22579a5b1544f4"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a6d797eebecb133853e22579a5b1544f4">hasIdleCallbacks</a> (void)</td></tr>
<tr class="memdesc:a6d797eebecb133853e22579a5b1544f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal, Sees if we have any idle callbacks we are waiting to process.  <a href="#a6d797eebecb133853e22579a5b1544f4">More...</a><br /></td></tr>
<tr class="separator:a6d797eebecb133853e22579a5b1544f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a71e682291c58a4b4533a66af40c040cb"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a71e682291c58a4b4533a66af40c040cb">hasIdlePackets</a> (void)</td></tr>
<tr class="memdesc:a71e682291c58a4b4533a66af40c040cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal, Sees if we have any idle packets we are waiting to process.  <a href="#a71e682291c58a4b4533a66af40c040cb">More...</a><br /></td></tr>
<tr class="separator:a71e682291c58a4b4533a66af40c040cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc101ab867ef90bf859625b338d9978e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#abc101ab867ef90bf859625b338d9978e">hasSlowPackets</a> (void)</td></tr>
<tr class="memdesc:abc101ab867ef90bf859625b338d9978e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal, Sees if we have any slow packets we are waiting to process.  <a href="#abc101ab867ef90bf859625b338d9978e">More...</a><br /></td></tr>
<tr class="separator:abc101ab867ef90bf859625b338d9978e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d9a02741090f79facba801f4aed8856"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a7d9a02741090f79facba801f4aed8856">idleProcessingPending</a> (void)</td></tr>
<tr class="memdesc:a7d9a02741090f79facba801f4aed8856"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sees if we have any idle processing pending (idle packets or callbacks)  <a href="#a7d9a02741090f79facba801f4aed8856">More...</a><br /></td></tr>
<tr class="separator:a7d9a02741090f79facba801f4aed8856"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa43bb720cd005e69475c67a7572eecf3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#aa43bb720cd005e69475c67a7572eecf3">internalLockup</a> (void)</td></tr>
<tr class="memdesc:aa43bb720cd005e69475c67a7572eecf3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal call to lockup the server (for testing)  <a href="#aa43bb720cd005e69475c67a7572eecf3">More...</a><br /></td></tr>
<tr class="separator:aa43bb720cd005e69475c67a7572eecf3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a278852754477a42e8edcca5075c42ae4"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a278852754477a42e8edcca5075c42ae4">internalSetDefaultFrequency</a> (const char *command, int frequency)</td></tr>
<tr class="memdesc:a278852754477a42e8edcca5075c42ae4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal call that sets the default frequency as a helper for forwarding (if it's faster than the current default)  <a href="#a278852754477a42e8edcca5075c42ae4">More...</a><br /></td></tr>
<tr class="separator:a278852754477a42e8edcca5075c42ae4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac001c03c92e62cd94949dbfd12a6cbc4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#ac001c03c92e62cd94949dbfd12a6cbc4">internalSetNumClients</a> (int numClients)</td></tr>
<tr class="memdesc:ac001c03c92e62cd94949dbfd12a6cbc4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal, sets the maximum number of clients.  <a href="#ac001c03c92e62cd94949dbfd12a6cbc4">More...</a><br /></td></tr>
<tr class="separator:ac001c03c92e62cd94949dbfd12a6cbc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef5119d875e72544bb13957f0b0b5bfc"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#aef5119d875e72544bb13957f0b0b5bfc">loadUserInfo</a> (const char *fileName, const char *baseDirectory=&quot;&quot;)</td></tr>
<tr class="memdesc:aef5119d875e72544bb13957f0b0b5bfc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Loads up a set of usernames/passwords/permissions from a file.  <a href="#aef5119d875e72544bb13957f0b0b5bfc">More...</a><br /></td></tr>
<tr class="separator:aef5119d875e72544bb13957f0b0b5bfc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e2f0ad76f564c13ec128cf0e540a89a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a0e2f0ad76f564c13ec128cf0e540a89a">logCommandGroups</a> (void)</td></tr>
<tr class="memdesc:a0e2f0ad76f564c13ec128cf0e540a89a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Logs the groups and commands in those groups.  <a href="#a0e2f0ad76f564c13ec128cf0e540a89a">More...</a><br /></td></tr>
<tr class="separator:a0e2f0ad76f564c13ec128cf0e540a89a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a62db28d742d2f2dceaa10d0fdb9da299"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a62db28d742d2f2dceaa10d0fdb9da299">logCommandGroupsToFile</a> (const char *fileName)</td></tr>
<tr class="memdesc:a62db28d742d2f2dceaa10d0fdb9da299"><td class="mdescLeft">&#160;</td><td class="mdescRight">Logs the groups and commands in those groups to a file.  <a href="#a62db28d742d2f2dceaa10d0fdb9da299">More...</a><br /></td></tr>
<tr class="separator:a62db28d742d2f2dceaa10d0fdb9da299"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab41c873e1c445abbffd3eac467ec5410"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#ab41c873e1c445abbffd3eac467ec5410">logConnections</a> (const char *prefix=&quot;&quot;)</td></tr>
<tr class="memdesc:ab41c873e1c445abbffd3eac467ec5410"><td class="mdescLeft">&#160;</td><td class="mdescRight">Logs the connections.  <a href="#ab41c873e1c445abbffd3eac467ec5410">More...</a><br /></td></tr>
<tr class="separator:ab41c873e1c445abbffd3eac467ec5410"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:affd8469b34607f164b6c55c697adc012"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#affd8469b34607f164b6c55c697adc012">logGroupDescriptions</a> (void)</td></tr>
<tr class="memdesc:affd8469b34607f164b6c55c697adc012"><td class="mdescLeft">&#160;</td><td class="mdescRight">Logs the command group names and descriptions.  <a href="#affd8469b34607f164b6c55c697adc012">More...</a><br /></td></tr>
<tr class="separator:affd8469b34607f164b6c55c697adc012"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adefd07cf5208b66fb8fab1d1b53ec7a9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#adefd07cf5208b66fb8fab1d1b53ec7a9">logGroupDescriptionsToFile</a> (const char *fileName)</td></tr>
<tr class="memdesc:adefd07cf5208b66fb8fab1d1b53ec7a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Logs the command group names and descriptions to a file.  <a href="#adefd07cf5208b66fb8fab1d1b53ec7a9">More...</a><br /></td></tr>
<tr class="separator:adefd07cf5208b66fb8fab1d1b53ec7a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb2d9c6a8bad91e92862561f134c258b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#afb2d9c6a8bad91e92862561f134c258b">logTracking</a> (bool terse=true)</td></tr>
<tr class="memdesc:afb2d9c6a8bad91e92862561f134c258b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Logs the tracking on each client (how many packets and bytes were sent)  <a href="#afb2d9c6a8bad91e92862561f134c258b">More...</a><br /></td></tr>
<tr class="separator:afb2d9c6a8bad91e92862561f134c258b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9b40f639c195d97ed2948a1a0407988"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#ab9b40f639c195d97ed2948a1a0407988">logUserInfo</a> (void)</td></tr>
<tr class="memdesc:ab9b40f639c195d97ed2948a1a0407988"><td class="mdescLeft">&#160;</td><td class="mdescRight">Logs the users and their groups.  <a href="#ab9b40f639c195d97ed2948a1a0407988">More...</a><br /></td></tr>
<tr class="separator:ab9b40f639c195d97ed2948a1a0407988"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a16ec2fa72a62caa7fd9a0da9fef6e45d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a16ec2fa72a62caa7fd9a0da9fef6e45d">loopOnce</a> (void)</td></tr>
<tr class="memdesc:a16ec2fa72a62caa7fd9a0da9fef6e45d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Runs the server loop once.  <a href="#a16ec2fa72a62caa7fd9a0da9fef6e45d">More...</a><br /></td></tr>
<tr class="separator:a16ec2fa72a62caa7fd9a0da9fef6e45d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa396c2b48cf70071c88a52771b8adda9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classArServerClient.html">ArServerClient</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#aa396c2b48cf70071c88a52771b8adda9">makeNewServerClientFromSocket</a> (<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html">ArSocket</a> *socket, bool overrideGeneralReject)</td></tr>
<tr class="memdesc:aa396c2b48cf70071c88a52771b8adda9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Makes a new serverclient from this socket (for switching, needs no password since this was an outgoing connection to a trusted server)  <a href="#aa396c2b48cf70071c88a52771b8adda9">More...</a><br /></td></tr>
<tr class="separator:aa396c2b48cf70071c88a52771b8adda9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a462af995dd55756db23209e03ed9c3a8"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a462af995dd55756db23209e03ed9c3a8">open</a> (unsigned int port, const char *openOnIP=NULL, bool tcpOnly=false)</td></tr>
<tr class="memdesc:a462af995dd55756db23209e03ed9c3a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Opens the server to accept new client connections.  <a href="#a462af995dd55756db23209e03ed9c3a8">More...</a><br /></td></tr>
<tr class="separator:a462af995dd55756db23209e03ed9c3a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a015990d3bc3b8a0135385b27bbaab02e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a015990d3bc3b8a0135385b27bbaab02e">processPacket</a> (<a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet, struct sockaddr_in *<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#gaeb05754b7747988dd97a961eaded6830">sin</a>)</td></tr>
<tr class="memdesc:a015990d3bc3b8a0135385b27bbaab02e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Processes udp packets.  <a href="#a015990d3bc3b8a0135385b27bbaab02e">More...</a><br /></td></tr>
<tr class="separator:a015990d3bc3b8a0135385b27bbaab02e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93979037994f6023ae80bc6048bd5c59"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a93979037994f6023ae80bc6048bd5c59">rejectSinceUsingCentralServer</a> (const char *centralServerIPString)</td></tr>
<tr class="memdesc:a93979037994f6023ae80bc6048bd5c59"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tells the server to reject connectings because we're usinga central server.  <a href="#a93979037994f6023ae80bc6048bd5c59">More...</a><br /></td></tr>
<tr class="separator:a93979037994f6023ae80bc6048bd5c59"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4214ab04ef0995e3edaba811d04b7e1a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a4214ab04ef0995e3edaba811d04b7e1a">remClientRemovedCallback</a> (<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor1.html">ArFunctor1</a>&lt; <a class="el" href="classArServerClient.html">ArServerClient</a> * &gt; *functor)</td></tr>
<tr class="memdesc:a4214ab04ef0995e3edaba811d04b7e1a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove the callback invoked when a client has been removed.  <a href="#a4214ab04ef0995e3edaba811d04b7e1a">More...</a><br /></td></tr>
<tr class="separator:a4214ab04ef0995e3edaba811d04b7e1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a8f1105bdde4529d0bc19f3a18da7e1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a9a8f1105bdde4529d0bc19f3a18da7e1">remCycleCallback</a> (<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor.html">ArFunctor</a> *functor)</td></tr>
<tr class="memdesc:a9a8f1105bdde4529d0bc19f3a18da7e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove a callback to be called at every cycle.  <a href="#a9a8f1105bdde4529d0bc19f3a18da7e1">More...</a><br /></td></tr>
<tr class="separator:a9a8f1105bdde4529d0bc19f3a18da7e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3403e9c34e6d6fe82e2397471caf95b8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a3403e9c34e6d6fe82e2397471caf95b8">remTooManyClientsCB</a> (<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor1.html">ArFunctor1</a>&lt; const char * &gt; *functor)</td></tr>
<tr class="memdesc:a3403e9c34e6d6fe82e2397471caf95b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes a callback when we switch to running.  <a href="#a3403e9c34e6d6fe82e2397471caf95b8">More...</a><br /></td></tr>
<tr class="separator:a3403e9c34e6d6fe82e2397471caf95b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a368dd898ec3b6a40135b64798131a899"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a368dd898ec3b6a40135b64798131a899">resetTracking</a> (void)</td></tr>
<tr class="memdesc:a368dd898ec3b6a40135b64798131a899"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears the tracking on all the clients (resets counters)  <a href="#a368dd898ec3b6a40135b64798131a899">More...</a><br /></td></tr>
<tr class="separator:a368dd898ec3b6a40135b64798131a899"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8f09a4e5207191ee21e9be174fc1c452"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a8f09a4e5207191ee21e9be174fc1c452">run</a> (void)</td></tr>
<tr class="memdesc:a8f09a4e5207191ee21e9be174fc1c452"><td class="mdescLeft">&#160;</td><td class="mdescRight">Runs the server in this thread.  <a href="#a8f09a4e5207191ee21e9be174fc1c452">More...</a><br /></td></tr>
<tr class="separator:a8f09a4e5207191ee21e9be174fc1c452"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93c742ddc58a8f035a0d1b9c1fae4599"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a93c742ddc58a8f035a0d1b9c1fae4599">runAsync</a> (void)</td></tr>
<tr class="memdesc:a93c742ddc58a8f035a0d1b9c1fae4599"><td class="mdescLeft">&#160;</td><td class="mdescRight">Runs the server in its own thread.  <a href="#a93c742ddc58a8f035a0d1b9c1fae4599">More...</a><br /></td></tr>
<tr class="separator:a93c742ddc58a8f035a0d1b9c1fae4599"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a030cd022bba5ec1785cf40e50f3b7430"><td class="memItemLeft" align="right" valign="top">virtual void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a030cd022bba5ec1785cf40e50f3b7430">runThread</a> (void *arg)</td></tr>
<tr class="separator:a030cd022bba5ec1785cf40e50f3b7430"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad5b3e00acc395d2f778d3c48494b6044"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#ad5b3e00acc395d2f778d3c48494b6044">sendUdp</a> (<a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet, struct sockaddr_in *<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#gaeb05754b7747988dd97a961eaded6830">sin</a>)</td></tr>
<tr class="memdesc:ad5b3e00acc395d2f778d3c48494b6044"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends Udp packets.  <a href="#ad5b3e00acc395d2f778d3c48494b6044">More...</a><br /></td></tr>
<tr class="separator:ad5b3e00acc395d2f778d3c48494b6044"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab2df17b8de70944c7b363ec6e42656a2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#ab2df17b8de70944c7b363ec6e42656a2">setAdditionalDataFlags</a> (const char *additionalDataFlags)</td></tr>
<tr class="memdesc:ab2df17b8de70944c7b363ec6e42656a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the data flags to add in addition to those passed in.  <a href="#ab2df17b8de70944c7b363ec6e42656a2">More...</a><br /></td></tr>
<tr class="separator:ab2df17b8de70944c7b363ec6e42656a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ccae95d99efbd843a2797c36cb3a2b1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a0ccae95d99efbd843a2797c36cb3a2b1">setBackupTimeout</a> (double timeoutInMins)</td></tr>
<tr class="memdesc:a0ccae95d99efbd843a2797c36cb3a2b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the backup timeout.  <a href="#a0ccae95d99efbd843a2797c36cb3a2b1">More...</a><br /></td></tr>
<tr class="separator:a0ccae95d99efbd843a2797c36cb3a2b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8dc38ba7bb66c20415ee4598005a2b46"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a8dc38ba7bb66c20415ee4598005a2b46">setDebugLogging</a> (bool debugLogging=false)</td></tr>
<tr class="memdesc:a8dc38ba7bb66c20415ee4598005a2b46"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets debug logging.  <a href="#a8dc38ba7bb66c20415ee4598005a2b46">More...</a><br /></td></tr>
<tr class="separator:a8dc38ba7bb66c20415ee4598005a2b46"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ec8b52fe5c22e307719a474d904b01c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a2ec8b52fe5c22e307719a474d904b01c">setGroupDescription</a> (const char *GrpName, const char *GrpDesc)</td></tr>
<tr class="memdesc:a2ec8b52fe5c22e307719a474d904b01c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Logs the command group names and command group descriptions for those names.  <a href="#a2ec8b52fe5c22e307719a474d904b01c">More...</a><br /></td></tr>
<tr class="separator:a2ec8b52fe5c22e307719a474d904b01c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5588c63fcc5261c970459c3d4027e1a2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a5588c63fcc5261c970459c3d4027e1a2">setServerKey</a> (const char *serverKey)</td></tr>
<tr class="memdesc:a5588c63fcc5261c970459c3d4027e1a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets a 'key' needed to access the server through any account.  <a href="#a5588c63fcc5261c970459c3d4027e1a2">More...</a><br /></td></tr>
<tr class="separator:a5588c63fcc5261c970459c3d4027e1a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a30dfa01a6faee922e1d4863aa6c16f98"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a30dfa01a6faee922e1d4863aa6c16f98">setUserInfo</a> (const <a class="el" href="classArServerUserInfo.html">ArServerUserInfo</a> *userInfo)</td></tr>
<tr class="memdesc:a30dfa01a6faee922e1d4863aa6c16f98"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the user info we'll use (mostly internal for switching)  <a href="#a30dfa01a6faee922e1d4863aa6c16f98">More...</a><br /></td></tr>
<tr class="separator:a30dfa01a6faee922e1d4863aa6c16f98"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18394abe320270495f109e7c0f87df87"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a18394abe320270495f109e7c0f87df87">sleepAfterSend</a> (int msecDelay)</td></tr>
<tr class="memdesc:a18394abe320270495f109e7c0f87df87"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delays the current thread by the specified msecs, for use after packet sent.  <a href="#a18394abe320270495f109e7c0f87df87">More...</a><br /></td></tr>
<tr class="separator:a18394abe320270495f109e7c0f87df87"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9654db575351b18c10a08729d9fda1ce"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a9654db575351b18c10a08729d9fda1ce">~ArServerBase</a> ()</td></tr>
<tr class="memdesc:a9654db575351b18c10a08729d9fda1ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor.  <a href="#a9654db575351b18c10a08729d9fda1ce">More...</a><br /></td></tr>
<tr class="separator:a9654db575351b18c10a08729d9fda1ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classArASyncTask"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classArASyncTask')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="../../docs/classArASyncTask.html">ArASyncTask</a></td></tr>
<tr class="memitem:a2f8d322b93edf16edd3253692e130480 inherit pub_methods_classArASyncTask"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArASyncTask.html#a2f8d322b93edf16edd3253692e130480">ArASyncTask</a> ()</td></tr>
<tr class="separator:a2f8d322b93edf16edd3253692e130480 inherit pub_methods_classArASyncTask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1219f8fc48adfc07ab59ea414585c479 inherit pub_methods_classArASyncTask"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArASyncTask.html#a1219f8fc48adfc07ab59ea414585c479">create</a> (bool joinable=true, bool lowerPriority=true)</td></tr>
<tr class="separator:a1219f8fc48adfc07ab59ea414585c479 inherit pub_methods_classArASyncTask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd6307214f0bfdcd9f1c89664b2a7ad1 inherit pub_methods_classArASyncTask"><td class="memItemLeft" align="right" valign="top">virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArASyncTask.html#acd6307214f0bfdcd9f1c89664b2a7ad1">getThreadActivity</a> (void)</td></tr>
<tr class="separator:acd6307214f0bfdcd9f1c89664b2a7ad1 inherit pub_methods_classArASyncTask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab1b9692583669e973fcb70fe843e556f inherit pub_methods_classArASyncTask"><td class="memItemLeft" align="right" valign="top">virtual void *&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArASyncTask.html#ab1b9692583669e973fcb70fe843e556f">runInThisThread</a> (void *arg=0)</td></tr>
<tr class="separator:ab1b9692583669e973fcb70fe843e556f inherit pub_methods_classArASyncTask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb6a00c292ff5aa6e8db8cd9d33747ac inherit pub_methods_classArASyncTask"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArASyncTask.html#adb6a00c292ff5aa6e8db8cd9d33747ac">stopRunning</a> (void)</td></tr>
<tr class="separator:adb6a00c292ff5aa6e8db8cd9d33747ac inherit pub_methods_classArASyncTask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a7a9aafc788b3a03fbaf71a87e1ee44 inherit pub_methods_classArASyncTask"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArASyncTask.html#a9a7a9aafc788b3a03fbaf71a87e1ee44">~ArASyncTask</a> ()</td></tr>
<tr class="separator:a9a7a9aafc788b3a03fbaf71a87e1ee44 inherit pub_methods_classArASyncTask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classArThread"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classArThread')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="../../docs/classArThread.html">ArThread</a></td></tr>
<tr class="memitem:af6646fdb41042a80a0d54c778d1af3d9 inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#af6646fdb41042a80a0d54c778d1af3d9">ArThread</a> (bool blockAllSignals=true)</td></tr>
<tr class="separator:af6646fdb41042a80a0d54c778d1af3d9 inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff21160d49a502bfc018d0e2126959aa inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#aff21160d49a502bfc018d0e2126959aa">ArThread</a> (ThreadType thread, bool joinable, bool blockAllSignals=true)</td></tr>
<tr class="separator:aff21160d49a502bfc018d0e2126959aa inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08068bcc611a53074d8999a5622f2289 inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#a08068bcc611a53074d8999a5622f2289">ArThread</a> (<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor.html">ArFunctor</a> *func, bool joinable=true, bool blockAllSignals=true)</td></tr>
<tr class="separator:a08068bcc611a53074d8999a5622f2289 inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f5c6ddc088c46736ce2e698a5ae3050 inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#a9f5c6ddc088c46736ce2e698a5ae3050">cancel</a> (void)</td></tr>
<tr class="separator:a9f5c6ddc088c46736ce2e698a5ae3050 inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aefba216adf9aa5144c79bdfbd8978cbd inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#aefba216adf9aa5144c79bdfbd8978cbd">create</a> (<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor.html">ArFunctor</a> *func, bool joinable=true, bool lowerPriority=true)</td></tr>
<tr class="separator:aefba216adf9aa5144c79bdfbd8978cbd inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70f8c5e5a01c432f8e5722487b11b9aa inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#a70f8c5e5a01c432f8e5722487b11b9aa">detach</a> (void)</td></tr>
<tr class="separator:a70f8c5e5a01c432f8e5722487b11b9aa inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8dc1c54a7c07dc2affdef031a74833e inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#aa8dc1c54a7c07dc2affdef031a74833e">getBlockAllSignals</a> (void)</td></tr>
<tr class="separator:aa8dc1c54a7c07dc2affdef031a74833e inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb7ba63e4e43e85f47ff9429de88c599 inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">virtual <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor.html">ArFunctor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#acb7ba63e4e43e85f47ff9429de88c599">getFunc</a> (void) const </td></tr>
<tr class="separator:acb7ba63e4e43e85f47ff9429de88c599 inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a48d0856b755e8950d820d71fd097fb0d inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#a48d0856b755e8950d820d71fd097fb0d">getJoinable</a> (void) const </td></tr>
<tr class="separator:a48d0856b755e8950d820d71fd097fb0d inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad57f4235fd1f9092f55aaec52a57068f inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">virtual ThreadType&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#ad57f4235fd1f9092f55aaec52a57068f">getOSThread</a> (void) const </td></tr>
<tr class="separator:ad57f4235fd1f9092f55aaec52a57068f inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a544461d5afc9a1f1d50398ef06f55743 inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#a544461d5afc9a1f1d50398ef06f55743">getRunning</a> (void) const </td></tr>
<tr class="separator:a544461d5afc9a1f1d50398ef06f55743 inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a05333f5f05022f42ab46a6dd8a8f1958 inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#a05333f5f05022f42ab46a6dd8a8f1958">getRunningWithLock</a> (void)</td></tr>
<tr class="separator:a05333f5f05022f42ab46a6dd8a8f1958 inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f17f4a7f59d8e14399e03ee405380be inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">virtual const ThreadType *&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#a1f17f4a7f59d8e14399e03ee405380be">getThread</a> (void) const </td></tr>
<tr class="separator:a1f17f4a7f59d8e14399e03ee405380be inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af3c3543b2749dccd4e94e96fad418780 inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#af3c3543b2749dccd4e94e96fad418780">getThreadName</a> (void)</td></tr>
<tr class="separator:af3c3543b2749dccd4e94e96fad418780 inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af5868982670b17f27aab0bbbf0749cb6 inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#af5868982670b17f27aab0bbbf0749cb6">isThreadFinished</a> () const </td></tr>
<tr class="separator:af5868982670b17f27aab0bbbf0749cb6 inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38dd0b805242f8144e14c0662eeee37c inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#a38dd0b805242f8144e14c0662eeee37c">isThreadStarted</a> () const </td></tr>
<tr class="separator:a38dd0b805242f8144e14c0662eeee37c inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab07c2ba39f6c537889db203d36291dd0 inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#ab07c2ba39f6c537889db203d36291dd0">join</a> (void **ret=NULL)</td></tr>
<tr class="separator:ab07c2ba39f6c537889db203d36291dd0 inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0fa936e087d49e5151cb3cc1358ae1ce inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#a0fa936e087d49e5151cb3cc1358ae1ce">lock</a> (void)</td></tr>
<tr class="separator:a0fa936e087d49e5151cb3cc1358ae1ce inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac971ee8ad4b23a5d87e6f0db02062cde inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#ac971ee8ad4b23a5d87e6f0db02062cde">logThreadInfo</a> (void)</td></tr>
<tr class="separator:ac971ee8ad4b23a5d87e6f0db02062cde inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6eb9bbbff1f1494a4218be4551c28073 inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#a6eb9bbbff1f1494a4218be4551c28073">setRunning</a> (bool running)</td></tr>
<tr class="separator:a6eb9bbbff1f1494a4218be4551c28073 inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af03075fb22fbfca1212d524f772f6c1c inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#af03075fb22fbfca1212d524f772f6c1c">setThreadName</a> (const char *name)</td></tr>
<tr class="separator:af03075fb22fbfca1212d524f772f6c1c inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a718af06ca33f467f714a46f059e2455b inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#a718af06ca33f467f714a46f059e2455b">threadFinished</a> (void)</td></tr>
<tr class="separator:a718af06ca33f467f714a46f059e2455b inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2cec8be019396610a5ba10b6ffcd819e inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#a2cec8be019396610a5ba10b6ffcd819e">threadStarted</a> (void)</td></tr>
<tr class="separator:a2cec8be019396610a5ba10b6ffcd819e inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeefc89261e7760985b91566029fc9c6c inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#aeefc89261e7760985b91566029fc9c6c">tryLock</a> (void)</td></tr>
<tr class="separator:aeefc89261e7760985b91566029fc9c6c inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa95ba7294af22e4be13215f39de61b38 inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#aa95ba7294af22e4be13215f39de61b38">unlock</a> (void)</td></tr>
<tr class="separator:aa95ba7294af22e4be13215f39de61b38 inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a02c1f44d7adb2b9524f0fc410158b554 inherit pub_methods_classArThread"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#a02c1f44d7adb2b9524f0fc410158b554">~ArThread</a> ()</td></tr>
<tr class="separator:a02c1f44d7adb2b9524f0fc410158b554 inherit pub_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:af1d003d3aca3e9697d913a450cc8a35c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#af1d003d3aca3e9697d913a450cc8a35c">acceptTcpSockets</a> (void)</td></tr>
<tr class="memdesc:af1d003d3aca3e9697d913a450cc8a35c"><td class="mdescLeft">&#160;</td><td class="mdescRight">accepts new sockets and moves them into the client list  <a href="#af1d003d3aca3e9697d913a450cc8a35c">More...</a><br /></td></tr>
<tr class="separator:af1d003d3aca3e9697d913a450cc8a35c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a467ff57fd9a36aaf019ec900d5a90eb2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classArServerClient.html">ArServerClient</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a467ff57fd9a36aaf019ec900d5a90eb2">finishAcceptingSocket</a> (<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html">ArSocket</a> *socket, bool skipPassword=false, bool overrideGeneralReject=false)</td></tr>
<tr class="memdesc:a467ff57fd9a36aaf019ec900d5a90eb2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal function for server/client switching.  <a href="#a467ff57fd9a36aaf019ec900d5a90eb2">More...</a><br /></td></tr>
<tr class="separator:a467ff57fd9a36aaf019ec900d5a90eb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45a217e7e142d13a1c4f5a8ac85400ec"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a45a217e7e142d13a1c4f5a8ac85400ec">getRequestTransactionCount</a> ()</td></tr>
<tr class="memdesc:a45a217e7e142d13a1c4f5a8ac85400ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of request transactions in progress for all connected clients.  <a href="#a45a217e7e142d13a1c4f5a8ac85400ec">More...</a><br /></td></tr>
<tr class="separator:a45a217e7e142d13a1c4f5a8ac85400ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab940c32af3c5c1231f3eca164544d818"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#ab940c32af3c5c1231f3eca164544d818">handleEndRequestTransaction</a> (<a class="el" href="classArServerClient.html">ArServerClient</a> *<a class="el" href="configClientToServer_8cpp.html#afe594bfb305907ae82f259409cc214cb">client</a>, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet)</td></tr>
<tr class="memdesc:ab940c32af3c5c1231f3eca164544d818"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handles the "endRequestTransaction" packet, and updates the state of the client.  <a href="#ab940c32af3c5c1231f3eca164544d818">More...</a><br /></td></tr>
<tr class="separator:ab940c32af3c5c1231f3eca164544d818"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a7f71297a106efc86cc0ead79e98e9d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a9a7f71297a106efc86cc0ead79e98e9d">handleStartRequestTransaction</a> (<a class="el" href="classArServerClient.html">ArServerClient</a> *<a class="el" href="configClientToServer_8cpp.html#afe594bfb305907ae82f259409cc214cb">client</a>, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet)</td></tr>
<tr class="memdesc:a9a7f71297a106efc86cc0ead79e98e9d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handles the "startRequestTransaction" packet, and updates the state of the client.  <a href="#a9a7f71297a106efc86cc0ead79e98e9d">More...</a><br /></td></tr>
<tr class="separator:a9a7f71297a106efc86cc0ead79e98e9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa5914c55172f1b18bb60e8e8d3b513bd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#aa5914c55172f1b18bb60e8e8d3b513bd">identGetConnectionID</a> (<a class="el" href="classArServerClient.html">ArServerClient</a> *<a class="el" href="configClientToServer_8cpp.html#afe594bfb305907ae82f259409cc214cb">client</a>, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet)</td></tr>
<tr class="memdesc:aa5914c55172f1b18bb60e8e8d3b513bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">The command get the ConnectionID of this server client connection.  <a href="#aa5914c55172f1b18bb60e8e8d3b513bd">More...</a><br /></td></tr>
<tr class="separator:aa5914c55172f1b18bb60e8e8d3b513bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a06f98f897980dec7e4d3aa059ba262a4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a06f98f897980dec7e4d3aa059ba262a4">identSetConnectionID</a> (<a class="el" href="classArServerClient.html">ArServerClient</a> *<a class="el" href="configClientToServer_8cpp.html#afe594bfb305907ae82f259409cc214cb">client</a>, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet)</td></tr>
<tr class="memdesc:a06f98f897980dec7e4d3aa059ba262a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">The command set the ConnectionID of this server client connection.  <a href="#a06f98f897980dec7e4d3aa059ba262a4">More...</a><br /></td></tr>
<tr class="separator:a06f98f897980dec7e4d3aa059ba262a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e8bce0e87b8dca196500c2380a57fdc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a5e8bce0e87b8dca196500c2380a57fdc">identSetHereGoal</a> (<a class="el" href="classArServerClient.html">ArServerClient</a> *<a class="el" href="configClientToServer_8cpp.html#afe594bfb305907ae82f259409cc214cb">client</a>, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet)</td></tr>
<tr class="memdesc:a5e8bce0e87b8dca196500c2380a57fdc"><td class="mdescLeft">&#160;</td><td class="mdescRight">The command set the here goal of this server client connection.  <a href="#a5e8bce0e87b8dca196500c2380a57fdc">More...</a><br /></td></tr>
<tr class="separator:a5e8bce0e87b8dca196500c2380a57fdc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a514fba523004e8019714da166add2e6f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a514fba523004e8019714da166add2e6f">identSetSelfIdentifier</a> (<a class="el" href="classArServerClient.html">ArServerClient</a> *<a class="el" href="configClientToServer_8cpp.html#afe594bfb305907ae82f259409cc214cb">client</a>, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet)</td></tr>
<tr class="memdesc:a514fba523004e8019714da166add2e6f"><td class="mdescLeft">&#160;</td><td class="mdescRight">The command set the self identifier of this server client connection.  <a href="#a514fba523004e8019714da166add2e6f">More...</a><br /></td></tr>
<tr class="separator:a514fba523004e8019714da166add2e6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f8ff1bed56680f3108b02c26a76d96e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a5f8ff1bed56680f3108b02c26a76d96e">netIdleProcessingPending</a> (<a class="el" href="classArServerClient.html">ArServerClient</a> *<a class="el" href="configClientToServer_8cpp.html#afe594bfb305907ae82f259409cc214cb">client</a>, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *packet)</td></tr>
<tr class="memdesc:a5f8ff1bed56680f3108b02c26a76d96e"><td class="mdescLeft">&#160;</td><td class="mdescRight">callback for our slow idle thread, which is down below...  <a href="#a5f8ff1bed56680f3108b02c26a76d96e">More...</a><br /></td></tr>
<tr class="separator:a5f8ff1bed56680f3108b02c26a76d96e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29ae4ea53e89fa21bd3f1c92845872aa"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a29ae4ea53e89fa21bd3f1c92845872aa">processFile</a> (void)</td></tr>
<tr class="separator:a29ae4ea53e89fa21bd3f1c92845872aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a439548c2e4aafea8e86d39af86a21b45"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a439548c2e4aafea8e86d39af86a21b45">slowIdleCallback</a> (void)</td></tr>
<tr class="separator:a439548c2e4aafea8e86d39af86a21b45"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a76569dd9b2df010871ee1cf8951710f4"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html">ArSocket</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a76569dd9b2df010871ee1cf8951710f4">myAcceptingSocket</a></td></tr>
<tr class="separator:a76569dd9b2df010871ee1cf8951710f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ecd956503a00976c1a189c4d7aea858"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a4ecd956503a00976c1a189c4d7aea858">myAdditionalDataFlags</a></td></tr>
<tr class="separator:a4ecd956503a00976c1a189c4d7aea858"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a036b4f4ad19d4d0856b3e65e620a831c"><td class="memItemLeft" align="right" valign="top">std::list&lt; <a class="el" href="classArServerClient.html">ArServerClient</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a036b4f4ad19d4d0856b3e65e620a831c">myAddList</a></td></tr>
<tr class="separator:a036b4f4ad19d4d0856b3e65e620a831c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28ef22ab3231d448b1a05175bc6f16b9"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html">ArMutex</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a28ef22ab3231d448b1a05175bc6f16b9">myAddListMutex</a></td></tr>
<tr class="separator:a28ef22ab3231d448b1a05175bc6f16b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeebe1324aa773f9c03ef5a102086d92d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#aeebe1324aa773f9c03ef5a102086d92d">myAllowIdlePackets</a></td></tr>
<tr class="separator:aeebe1324aa773f9c03ef5a102086d92d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a23b4e214a05d368635e5f28e5adc5d45"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a23b4e214a05d368635e5f28e5adc5d45">myAllowSlowPackets</a></td></tr>
<tr class="separator:a23b4e214a05d368635e5f28e5adc5d45"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d8773676449666ece818e7c2cf42a5f"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctorC.html">ArFunctorC</a>&lt; <a class="el" href="classArServerBase.html">ArServerBase</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a9d8773676449666ece818e7c2cf42a5f">myAriaExitCB</a></td></tr>
<tr class="separator:a9d8773676449666ece818e7c2cf42a5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad13e61cb8469c43056d2110877872495"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#ad13e61cb8469c43056d2110877872495">myBackupTimeout</a></td></tr>
<tr class="separator:ad13e61cb8469c43056d2110877872495"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad57d1d57e63b3d84c287a604cb45138f"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html">ArMutex</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#ad57d1d57e63b3d84c287a604cb45138f">myBackupTimeoutMutex</a></td></tr>
<tr class="separator:ad57d1d57e63b3d84c287a604cb45138f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aced44d6a2ba979c00a3970c1ef26c1f5"><td class="memItemLeft" align="right" valign="top">std::list&lt; <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor1.html">ArFunctor1</a>&lt; <a class="el" href="classArServerClient.html">ArServerClient</a> * &gt; * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#aced44d6a2ba979c00a3970c1ef26c1f5">myClientRemovedCallbacks</a></td></tr>
<tr class="separator:aced44d6a2ba979c00a3970c1ef26c1f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9632551d8be729e00471415032c7994"><td class="memItemLeft" align="right" valign="top">std::list&lt; <a class="el" href="classArServerClient.html">ArServerClient</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#ab9632551d8be729e00471415032c7994">myClients</a></td></tr>
<tr class="separator:ab9632551d8be729e00471415032c7994"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a83b6a5e1e8195fc20ffcd7827a975df5"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html">ArMutex</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a83b6a5e1e8195fc20ffcd7827a975df5">myClientsMutex</a></td></tr>
<tr class="separator:a83b6a5e1e8195fc20ffcd7827a975df5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acaabe1912b811a4e9fcf3109a99d58a9"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArTypes.html#af596f738ccf86d1fa8a64af52ea2f061">ArTypes::UByte4</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#acaabe1912b811a4e9fcf3109a99d58a9">myConnectionNumber</a></td></tr>
<tr class="separator:acaabe1912b811a4e9fcf3109a99d58a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9de4ddb61dfcede3cfd4f7c3e7b53fba"><td class="memItemLeft" align="right" valign="top">std::list&lt; <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor.html">ArFunctor</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a9de4ddb61dfcede3cfd4f7c3e7b53fba">myCycleCallbacks</a></td></tr>
<tr class="separator:a9de4ddb61dfcede3cfd4f7c3e7b53fba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad11655dc98f2e5b6c342459c9222c273"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html">ArMutex</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#ad11655dc98f2e5b6c342459c9222c273">myCycleCallbacksMutex</a></td></tr>
<tr class="separator:ad11655dc98f2e5b6c342459c9222c273"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a67d80e1a21fb9d92368d11cc49d6afae"><td class="memItemLeft" align="right" valign="top">std::map&lt; unsigned int, <a class="el" href="classArServerData.html">ArServerData</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a67d80e1a21fb9d92368d11cc49d6afae">myDataMap</a></td></tr>
<tr class="separator:a67d80e1a21fb9d92368d11cc49d6afae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac2247e67f623910f5d43181bbf7090b4"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html">ArMutex</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#ac2247e67f623910f5d43181bbf7090b4">myDataMutex</a></td></tr>
<tr class="separator:ac2247e67f623910f5d43181bbf7090b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a041efc205d20443b1aebebba41d82c5b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a041efc205d20443b1aebebba41d82c5b">myDebugLogging</a></td></tr>
<tr class="separator:a041efc205d20443b1aebebba41d82c5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b7ecaa33750688fe5e2d854b78f7d16"><td class="memItemLeft" align="right" valign="top">std::map&lt; unsigned int, int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a0b7ecaa33750688fe5e2d854b78f7d16">myDefaultFrequency</a></td></tr>
<tr class="separator:a0b7ecaa33750688fe5e2d854b78f7d16"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab07ced59df818eb7f60cb3c6a692bb7e"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2C.html">ArFunctor2C</a>&lt; <a class="el" href="classArServerBase.html">ArServerBase</a>, <a class="el" href="classArServerClient.html">ArServerClient</a> *, <a class="el" href="classArNetPacket.html">ArNetPacket</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#ab07ced59df818eb7f60cb3c6a692bb7e">myEndRequestTransactionCB</a></td></tr>
<tr class="separator:ab07ced59df818eb7f60cb3c6a692bb7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3fb547448e07db516b6233f70ac24c89"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a3fb547448e07db516b6233f70ac24c89">myEnforceProtocolVersion</a></td></tr>
<tr class="separator:a3fb547448e07db516b6233f70ac24c89"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1c8c47760e6a336d3dad8f248be30ec"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classArServerCommands.html#a17e8a1248f23b0f1dde4606af34b0efd">ArServerCommands::Type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#ae1c8c47760e6a336d3dad8f248be30ec">myEnforceType</a></td></tr>
<tr class="separator:ae1c8c47760e6a336d3dad8f248be30ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a469c0add66d171732e993af7128dbfd1"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRetFunctor2C.html">ArRetFunctor2C</a>&lt; long, <a class="el" href="classArServerBase.html">ArServerBase</a>, unsigned int, bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a469c0add66d171732e993af7128dbfd1">myGetFrequencyCB</a></td></tr>
<tr class="separator:a469c0add66d171732e993af7128dbfd1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd2f38396d763cd486a1dd6727b15608"><td class="memItemLeft" align="right" valign="top">std::map&lt; std::string, std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#abd2f38396d763cd486a1dd6727b15608">myGroupDescription</a></td></tr>
<tr class="memdesc:abd2f38396d763cd486a1dd6727b15608"><td class="mdescLeft">&#160;</td><td class="mdescRight">our mapping of the group names  <a href="#abd2f38396d763cd486a1dd6727b15608">More...</a><br /></td></tr>
<tr class="separator:abd2f38396d763cd486a1dd6727b15608"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc7e004366ae82a0d981e05ba115a8dc"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#adc7e004366ae82a0d981e05ba115a8dc">myHaveIdleCallbacks</a></td></tr>
<tr class="separator:adc7e004366ae82a0d981e05ba115a8dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a41e39d292529dabdf535f59dc4f3e674"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a41e39d292529dabdf535f59dc4f3e674">myHaveIdlePackets</a></td></tr>
<tr class="separator:a41e39d292529dabdf535f59dc4f3e674"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad4d2dccce7ae0ee98e07925cae0dd323"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#ad4d2dccce7ae0ee98e07925cae0dd323">myHaveSlowPackets</a></td></tr>
<tr class="separator:ad4d2dccce7ae0ee98e07925cae0dd323"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a22ab34ea2ff069987105d693bd6d3b8f"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2C.html">ArFunctor2C</a>&lt; <a class="el" href="classArServerBase.html">ArServerBase</a>, <a class="el" href="classArServerClient.html">ArServerClient</a> *, <a class="el" href="classArNetPacket.html">ArNetPacket</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a22ab34ea2ff069987105d693bd6d3b8f">myIdentGetConnectionIDCB</a></td></tr>
<tr class="separator:a22ab34ea2ff069987105d693bd6d3b8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a11ff6397e2bf60d3dbd535fd61efd37a"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2C.html">ArFunctor2C</a>&lt; <a class="el" href="classArServerBase.html">ArServerBase</a>, <a class="el" href="classArServerClient.html">ArServerClient</a> *, <a class="el" href="classArNetPacket.html">ArNetPacket</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a11ff6397e2bf60d3dbd535fd61efd37a">myIdentSetConnectionIDCB</a></td></tr>
<tr class="separator:a11ff6397e2bf60d3dbd535fd61efd37a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc15e369d60f9331de61b4508da6844c"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2C.html">ArFunctor2C</a>&lt; <a class="el" href="classArServerBase.html">ArServerBase</a>, <a class="el" href="classArServerClient.html">ArServerClient</a> *, <a class="el" href="classArNetPacket.html">ArNetPacket</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#abc15e369d60f9331de61b4508da6844c">myIdentSetHereGoalCB</a></td></tr>
<tr class="separator:abc15e369d60f9331de61b4508da6844c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c42b3804122d4dc86a3a16078a7cabb"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2C.html">ArFunctor2C</a>&lt; <a class="el" href="classArServerBase.html">ArServerBase</a>, <a class="el" href="classArServerClient.html">ArServerClient</a> *, <a class="el" href="classArNetPacket.html">ArNetPacket</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a1c42b3804122d4dc86a3a16078a7cabb">myIdentSetSelfIdentifierCB</a></td></tr>
<tr class="separator:a1c42b3804122d4dc86a3a16078a7cabb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a500ccd4790811377f24342cd842f6aba"><td class="memItemLeft" align="right" valign="top">std::list&lt; <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor.html">ArFunctor</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a500ccd4790811377f24342cd842f6aba">myIdleCallbacks</a></td></tr>
<tr class="separator:a500ccd4790811377f24342cd842f6aba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a420f29e1bde3af767d50b446d54dc774"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html">ArMutex</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a420f29e1bde3af767d50b446d54dc774">myIdleCallbacksMutex</a></td></tr>
<tr class="separator:a420f29e1bde3af767d50b446d54dc774"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adba944cf11a36da206c015516eeebbe6"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2C.html">ArFunctor2C</a>&lt; <a class="el" href="classArServerBase.html">ArServerBase</a>, <a class="el" href="classArServerClient.html">ArServerClient</a> *, <a class="el" href="classArNetPacket.html">ArNetPacket</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#adba944cf11a36da206c015516eeebbe6">myIdleProcessingPendingCB</a></td></tr>
<tr class="separator:adba944cf11a36da206c015516eeebbe6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d8846d8c7d966588301f8083bfe229a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a7d8846d8c7d966588301f8083bfe229a">myLastIdleProcessingPending</a></td></tr>
<tr class="separator:a7d8846d8c7d966588301f8083bfe229a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab6d7ad593cea13fa555b899e21f791cb"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#ab6d7ad593cea13fa555b899e21f791cb">myLogPasswordFailureVerbosely</a></td></tr>
<tr class="separator:ab6d7ad593cea13fa555b899e21f791cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ad3f93a32ffd325722cbb9e5ec3ca74"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a4ad3f93a32ffd325722cbb9e5ec3ca74">myLogPrefix</a></td></tr>
<tr class="separator:a4ad3f93a32ffd325722cbb9e5ec3ca74"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab38dd65802dbe9b96b62be5333d13e16"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#ab38dd65802dbe9b96b62be5333d13e16">myLoopMSecs</a></td></tr>
<tr class="separator:ab38dd65802dbe9b96b62be5333d13e16"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3274c6dce2fe57bdf248a285aad7ae20"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a3274c6dce2fe57bdf248a285aad7ae20">myMaxClientsAllowed</a></td></tr>
<tr class="separator:a3274c6dce2fe57bdf248a285aad7ae20"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e7e4d64f097d21d5901f91fdc3de5b3"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a5e7e4d64f097d21d5901f91fdc3de5b3">myMostClients</a></td></tr>
<tr class="separator:a5e7e4d64f097d21d5901f91fdc3de5b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a704317ff8caeb7bdf892b7e13d1ca2cc"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a704317ff8caeb7bdf892b7e13d1ca2cc">myNewBackupTimeout</a></td></tr>
<tr class="separator:a704317ff8caeb7bdf892b7e13d1ca2cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a996eb22298bc2d19ecfb3ec3929cc7fc"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a996eb22298bc2d19ecfb3ec3929cc7fc">myNextDataNumber</a></td></tr>
<tr class="separator:a996eb22298bc2d19ecfb3ec3929cc7fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18170d67add932519ea770539f348447"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a18170d67add932519ea770539f348447">myNumClients</a></td></tr>
<tr class="separator:a18170d67add932519ea770539f348447"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f9e411bead858e98ec083cc1623ca87"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a5f9e411bead858e98ec083cc1623ca87">myOpened</a></td></tr>
<tr class="separator:a5f9e411bead858e98ec083cc1623ca87"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9cb608ba1bd7a7da14bef63a2ab27106"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a9cb608ba1bd7a7da14bef63a2ab27106">myOpenOnIP</a></td></tr>
<tr class="separator:a9cb608ba1bd7a7da14bef63a2ab27106"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab6d15e588da01c6b2184b285f9e8c168"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRetFunctorC.html">ArRetFunctorC</a>&lt; bool, <a class="el" href="classArServerBase.html">ArServerBase</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#ab6d15e588da01c6b2184b285f9e8c168">myProcessFileCB</a></td></tr>
<tr class="separator:ab6d15e588da01c6b2184b285f9e8c168"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d023b1f58396af8c0a28c00c234e7d3"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html">ArMutex</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a8d023b1f58396af8c0a28c00c234e7d3">myProcessingSlowIdleMutex</a></td></tr>
<tr class="separator:a8d023b1f58396af8c0a28c00c234e7d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a02a993b40acbdc05d1ac4bba209b2d14"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2C.html">ArFunctor2C</a>&lt; <a class="el" href="classArServerBase.html">ArServerBase</a>, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *, struct sockaddr_in * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a02a993b40acbdc05d1ac4bba209b2d14">myProcessPacketCB</a></td></tr>
<tr class="separator:a02a993b40acbdc05d1ac4bba209b2d14"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0dfc54197bac69f72eb624011a43db57"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a0dfc54197bac69f72eb624011a43db57">myRejecting</a></td></tr>
<tr class="separator:a0dfc54197bac69f72eb624011a43db57"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aada417ac984bdbc5c85cf8cab437c3e0"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#aada417ac984bdbc5c85cf8cab437c3e0">myRejectingString</a></td></tr>
<tr class="separator:aada417ac984bdbc5c85cf8cab437c3e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0806db59a69a2432c51131b9ca917222"><td class="memItemLeft" align="right" valign="top">std::set&lt; <a class="el" href="classArServerClient.html">ArServerClient</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a0806db59a69a2432c51131b9ca917222">myRemoveSet</a></td></tr>
<tr class="separator:a0806db59a69a2432c51131b9ca917222"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a132a7eee004a6a29db7b8add4151d69d"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html">ArMutex</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a132a7eee004a6a29db7b8add4151d69d">myRemoveSetMutex</a></td></tr>
<tr class="separator:a132a7eee004a6a29db7b8add4151d69d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52518b0de02d87df66a85f1656293ddc"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRetFunctor2C.html">ArRetFunctor2C</a>&lt; bool, <a class="el" href="classArServerBase.html">ArServerBase</a>, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *, struct sockaddr_in * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a52518b0de02d87df66a85f1656293ddc">mySendUdpCB</a></td></tr>
<tr class="separator:a52518b0de02d87df66a85f1656293ddc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4431d2cc2bb30a7bad7917b69e2655f1"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a4431d2cc2bb30a7bad7917b69e2655f1">myServerKey</a></td></tr>
<tr class="separator:a4431d2cc2bb30a7bad7917b69e2655f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ae5da090806634815d6fae6d1cf3f99"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a5ae5da090806634815d6fae6d1cf3f99">myServerName</a></td></tr>
<tr class="separator:a5ae5da090806634815d6fae6d1cf3f99"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2228b9f45f9af3ffbc1ce4d2df7cd08d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classArServerBase_1_1SlowIdleThread.html">SlowIdleThread</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a2228b9f45f9af3ffbc1ce4d2df7cd08d">mySlowIdleThread</a></td></tr>
<tr class="separator:a2228b9f45f9af3ffbc1ce4d2df7cd08d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af69d0afca33e797304b58248c553a3ee"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2C.html">ArFunctor2C</a>&lt; <a class="el" href="classArServerBase.html">ArServerBase</a>, <a class="el" href="classArServerClient.html">ArServerClient</a> *, <a class="el" href="classArNetPacket.html">ArNetPacket</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#af69d0afca33e797304b58248c553a3ee">myStartRequestTransactionCB</a></td></tr>
<tr class="separator:af69d0afca33e797304b58248c553a3ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a81026f3d5481b6e6cf74e3d7632ecb51"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a81026f3d5481b6e6cf74e3d7632ecb51">myTcpOnly</a></td></tr>
<tr class="separator:a81026f3d5481b6e6cf74e3d7632ecb51"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80134d6000d350b981848f360bdac786"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a80134d6000d350b981848f360bdac786">myTcpPort</a></td></tr>
<tr class="separator:a80134d6000d350b981848f360bdac786"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a02816b3969fe21b6e90b14f1da0fc69e"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html">ArSocket</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a02816b3969fe21b6e90b14f1da0fc69e">myTcpSocket</a></td></tr>
<tr class="separator:a02816b3969fe21b6e90b14f1da0fc69e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a908a450a8044c52a7da7441fd35a7dff"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArTimeChecker.html">ArTimeChecker</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a908a450a8044c52a7da7441fd35a7dff">myTimeChecker</a></td></tr>
<tr class="separator:a908a450a8044c52a7da7441fd35a7dff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d52a28c6ba5c6a87b46a84de0fec050"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArCallbackList1.html">ArCallbackList1</a>&lt; const char * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a0d52a28c6ba5c6a87b46a84de0fec050">myTooManyClientsCBList</a></td></tr>
<tr class="separator:a0d52a28c6ba5c6a87b46a84de0fec050"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4db94b5e00ee733fbcae8f1d065d79fc"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a4db94b5e00ee733fbcae8f1d065d79fc">myUdpPort</a></td></tr>
<tr class="separator:a4db94b5e00ee733fbcae8f1d065d79fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab18c9fda663fc7c9114ce240068a0ee0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classArNetPacketReceiverUdp.html">ArNetPacketReceiverUdp</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#ab18c9fda663fc7c9114ce240068a0ee0">myUdpReceiver</a></td></tr>
<tr class="separator:ab18c9fda663fc7c9114ce240068a0ee0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c90e25a8e7148058d0598f3a6b1c0aa"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html">ArSocket</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a8c90e25a8e7148058d0598f3a6b1c0aa">myUdpSocket</a></td></tr>
<tr class="separator:a8c90e25a8e7148058d0598f3a6b1c0aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28dda2d862dfe56a22591d1602c89c31"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classArServerUserInfo.html">ArServerUserInfo</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a28dda2d862dfe56a22591d1602c89c31">myUserInfo</a></td></tr>
<tr class="separator:a28dda2d862dfe56a22591d1602c89c31"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab377c9e75be9412af479f386121e8f4c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#ab377c9e75be9412af479f386121e8f4c">myUsingOwnNumClients</a></td></tr>
<tr class="separator:ab377c9e75be9412af479f386121e8f4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a534bb41c6853fd50aaaf3bbd7aff539b"><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3">ArLog::LogLevel</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#a534bb41c6853fd50aaaf3bbd7aff539b">myVerboseLogLevel</a></td></tr>
<tr class="separator:a534bb41c6853fd50aaaf3bbd7aff539b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_classArThread"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classArThread')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="../../docs/classArThread.html">ArThread</a></td></tr>
<tr class="memitem:a38947d1e811cabefda057a5da123539a inherit pro_attribs_classArThread"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#a38947d1e811cabefda057a5da123539a">myRunning</a></td></tr>
<tr class="separator:a38947d1e811cabefda057a5da123539a inherit pro_attribs_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:aec1fd7d08349aee61f02a2bdaa7ebbaa"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArServerBase.html#aec1fd7d08349aee61f02a2bdaa7ebbaa">ArServerBase::SlowIdleThread</a></td></tr>
<tr class="separator:aec1fd7d08349aee61f02a2bdaa7ebbaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_types_classArThread"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classArThread')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="../../docs/classArThread.html">ArThread</a></td></tr>
<tr class="memitem:af6d126a960a5af55f2ab3e05233e8b53 inherit pub_types_classArThread"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><b>Status</b> </td></tr>
<tr class="separator:af6d126a960a5af55f2ab3e05233e8b53 inherit pub_types_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_static_methods_classArThread"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_classArThread')"><img src="closed.png" alt="-"/>&#160;Static Public Member Functions inherited from <a class="el" href="../../docs/classArThread.html">ArThread</a></td></tr>
<tr class="memitem:ae90c377080eb22ecd565617fbde986dc inherit pub_static_methods_classArThread"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#ae90c377080eb22ecd565617fbde986dc">cancelAll</a> (void)</td></tr>
<tr class="separator:ae90c377080eb22ecd565617fbde986dc inherit pub_static_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae730b583d5a313dd2d0b28a55b831e10 inherit pub_static_methods_classArThread"><td class="memItemLeft" align="right" valign="top">static <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3">ArLog::LogLevel</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#ae730b583d5a313dd2d0b28a55b831e10">getLogLevel</a> (void)</td></tr>
<tr class="separator:ae730b583d5a313dd2d0b28a55b831e10 inherit pub_static_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f22bf6798bbb1f559d0fcb2dd340fe1 inherit pub_static_methods_classArThread"><td class="memItemLeft" align="right" valign="top">static ThreadType&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#a3f22bf6798bbb1f559d0fcb2dd340fe1">getThisOSThread</a> (void)</td></tr>
<tr class="separator:a3f22bf6798bbb1f559d0fcb2dd340fe1 inherit pub_static_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f07974eaa1f04b40e7e29281063ae32 inherit pub_static_methods_classArThread"><td class="memItemLeft" align="right" valign="top">static const ThreadType *&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#a5f07974eaa1f04b40e7e29281063ae32">getThisThread</a> (void)</td></tr>
<tr class="separator:a5f07974eaa1f04b40e7e29281063ae32 inherit pub_static_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2070e4319d8a11cb025fbeb0fdb36ade inherit pub_static_methods_classArThread"><td class="memItemLeft" align="right" valign="top">static const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#a2070e4319d8a11cb025fbeb0fdb36ade">getThisThreadName</a> (void)</td></tr>
<tr class="separator:a2070e4319d8a11cb025fbeb0fdb36ade inherit pub_static_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a602608b819fd0d206ece3e7108e897c1 inherit pub_static_methods_classArThread"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#a602608b819fd0d206ece3e7108e897c1">init</a> (void)</td></tr>
<tr class="separator:a602608b819fd0d206ece3e7108e897c1 inherit pub_static_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a669ea48142e11e67465cd389be8608db inherit pub_static_methods_classArThread"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#a669ea48142e11e67465cd389be8608db">joinAll</a> (void)</td></tr>
<tr class="separator:a669ea48142e11e67465cd389be8608db inherit pub_static_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3deec9c656a29d1a9f33dc52ca05afa9 inherit pub_static_methods_classArThread"><td class="memItemLeft" align="right" valign="top">static ThreadType&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#a3deec9c656a29d1a9f33dc52ca05afa9">osSelf</a> (void)</td></tr>
<tr class="separator:a3deec9c656a29d1a9f33dc52ca05afa9 inherit pub_static_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94f5c62be5ea634a63645b09d24618ea inherit pub_static_methods_classArThread"><td class="memItemLeft" align="right" valign="top">static <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html">ArThread</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#a94f5c62be5ea634a63645b09d24618ea">self</a> (void)</td></tr>
<tr class="separator:a94f5c62be5ea634a63645b09d24618ea inherit pub_static_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8bdbdb6a182a26b083577d341d73025 inherit pub_static_methods_classArThread"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#aa8bdbdb6a182a26b083577d341d73025">setLogLevel</a> (<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3">ArLog::LogLevel</a> level)</td></tr>
<tr class="separator:aa8bdbdb6a182a26b083577d341d73025 inherit pub_static_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adceb0c14e9674056fc637c95142fdfad inherit pub_static_methods_classArThread"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#adceb0c14e9674056fc637c95142fdfad">shutdown</a> ()</td></tr>
<tr class="separator:adceb0c14e9674056fc637c95142fdfad inherit pub_static_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeed26f3e82c2f329d8b7286b0c59a75d inherit pub_static_methods_classArThread"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#aeed26f3e82c2f329d8b7286b0c59a75d">stopAll</a> ()</td></tr>
<tr class="separator:aeed26f3e82c2f329d8b7286b0c59a75d inherit pub_static_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a16d8ee7da5d5ebc2540e38ca1ce2eeb2 inherit pub_static_methods_classArThread"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#a16d8ee7da5d5ebc2540e38ca1ce2eeb2">yieldProcessor</a> (void)</td></tr>
<tr class="separator:a16d8ee7da5d5ebc2540e38ca1ce2eeb2 inherit pub_static_methods_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_attribs_classArThread"><td colspan="2" onclick="javascript:toggleInherit('pub_attribs_classArThread')"><img src="closed.png" alt="-"/>&#160;Public Attributes inherited from <a class="el" href="../../docs/classArThread.html">ArThread</a></td></tr>
<tr class="memitem:af6d126a960a5af55f2ab3e05233e8b53ac31e3677374b5ae653026a3be95c6274 inherit pub_attribs_classArThread"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#af6d126a960a5af55f2ab3e05233e8b53ac31e3677374b5ae653026a3be95c6274">STATUS_ALREADY_DETATCHED</a></td></tr>
<tr class="separator:af6d126a960a5af55f2ab3e05233e8b53ac31e3677374b5ae653026a3be95c6274 inherit pub_attribs_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af6d126a960a5af55f2ab3e05233e8b53acc18d305d0eccadd2588c4b42f5f94b5 inherit pub_attribs_classArThread"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#af6d126a960a5af55f2ab3e05233e8b53acc18d305d0eccadd2588c4b42f5f94b5">STATUS_FAILED</a></td></tr>
<tr class="separator:af6d126a960a5af55f2ab3e05233e8b53acc18d305d0eccadd2588c4b42f5f94b5 inherit pub_attribs_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af6d126a960a5af55f2ab3e05233e8b53a8cabd345d26c252559a993ba7d4db196 inherit pub_attribs_classArThread"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#af6d126a960a5af55f2ab3e05233e8b53a8cabd345d26c252559a993ba7d4db196">STATUS_INVALID</a></td></tr>
<tr class="separator:af6d126a960a5af55f2ab3e05233e8b53a8cabd345d26c252559a993ba7d4db196 inherit pub_attribs_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af6d126a960a5af55f2ab3e05233e8b53aa12716ae2e87670197b81ece3dbca9ea inherit pub_attribs_classArThread"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#af6d126a960a5af55f2ab3e05233e8b53aa12716ae2e87670197b81ece3dbca9ea">STATUS_JOIN_SELF</a></td></tr>
<tr class="separator:af6d126a960a5af55f2ab3e05233e8b53aa12716ae2e87670197b81ece3dbca9ea inherit pub_attribs_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af6d126a960a5af55f2ab3e05233e8b53afb6a6a19ac7e5eae84ca230f90a577c1 inherit pub_attribs_classArThread"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#af6d126a960a5af55f2ab3e05233e8b53afb6a6a19ac7e5eae84ca230f90a577c1">STATUS_NO_SUCH_THREAD</a></td></tr>
<tr class="separator:af6d126a960a5af55f2ab3e05233e8b53afb6a6a19ac7e5eae84ca230f90a577c1 inherit pub_attribs_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af6d126a960a5af55f2ab3e05233e8b53a3a691b0c508247f05b57fdcdf26bcbcf inherit pub_attribs_classArThread"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#af6d126a960a5af55f2ab3e05233e8b53a3a691b0c508247f05b57fdcdf26bcbcf">STATUS_NORESOURCE</a></td></tr>
<tr class="separator:af6d126a960a5af55f2ab3e05233e8b53a3a691b0c508247f05b57fdcdf26bcbcf inherit pub_attribs_classArThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Base server for all networking services. </p>
<p>This class is the "base" server for network services. Start this server by calling <a class="el" href="classArServerBase.html#a462af995dd55756db23209e03ed9c3a8" title="Opens the server to accept new client connections. ">open()</a>, and then running the loop with <a class="el" href="classArServerBase.html#a8f09a4e5207191ee21e9be174fc1c452" title="Runs the server in this thread. ">run()</a> or <a class="el" href="classArServerBase.html#a93c742ddc58a8f035a0d1b9c1fae4599" title="Runs the server in its own thread. ">runAsync()</a>, (or <a class="el" href="classArServerBase.html#a16ec2fa72a62caa7fd9a0da9fef6e45d" title="Runs the server loop once. ">loopOnce()</a> if it is absolutely neccesary to use your own loop; see the implementation of <a class="el" href="classArServerBase.html#a8f09a4e5207191ee21e9be174fc1c452" title="Runs the server in this thread. ">run()</a>). You can then pass this object to the various "ArServerInfo", "ArServerHandler", and <a class="el" href="classArServerMode.html" title="A mode for controlling the robot (only one active) ">ArServerMode</a> classes.</p>
<p>Data request callbacks are added to an <a class="el" href="classArServerBase.html" title="Base server for all networking services. ">ArServerBase</a> object by calling <a class="el" href="classArServerBase.html#a2df604c980c35140f69d35362a3403f2" title="Adds a callback to be called when requests for some data are recieved. ">addData()</a>.</p>
<p>This class takes care of locking in its own function calls so you don't need to worry about locking and unlocking the class before you do things.</p>
<p>The counterpart of this class for clients is <a class="el" href="classArClientBase.html" title="The base client class. ">ArClientBase</a>.</p>
<p>You can require user names and passwords for making connections to the server, so each user has a set of permissions for different command groups. To do this, load configuration from a userInfo file with <a class="el" href="classArServerBase.html#aef5119d875e72544bb13957f0b0b5bfc" title="Loads up a set of usernames/passwords/permissions from a file. ">loadUserInfo()</a>. You can log the user info (and what commands users have) with <a class="el" href="classArServerBase.html#ab9b40f639c195d97ed2948a1a0407988" title="Logs the users and their groups. ">logUserInfo()</a>. You can log the command groups with <a class="el" href="classArServerBase.html#a0e2f0ad76f564c13ec128cf0e540a89a" title="Logs the groups and commands in those groups. ">logCommandGroups()</a> or <a class="el" href="classArServerBase.html#a62db28d742d2f2dceaa10d0fdb9da299" title="Logs the groups and commands in those groups to a file. ">logCommandGroupsToFile()</a>. For a description of the file see <a class="el" href="classArServerUserInfo.html" title="This class holds information about users and loads it from a file. ">ArServerUserInfo</a>. There is also an example in <code>ArNetworking/examples/serverDemo.userInfo</code>.</p>
<p>In addition to the user and password requirement you can set a server "key" (a special string of text) required (in addition to user and password) to access the server with <a class="el" href="classArServerBase.html#a5588c63fcc5261c970459c3d4027e1a2" title="Sets a &#39;key&#39; needed to access the server through any account. ">setServerKey()</a>, though this is ONLY used if user and password information is requied (so that older clients can connect if there's no user and password information required).</p>
<p>The way that the passwords are transmitted across the network is this: Upon connection the server sends a randomly generated (for that connection) string of text to the client which we'll call the passwordKey. The client then combines the serverKey (a string which must be known to connect to the server at all), the password, and the passwordKey (that string that is generated uniquely for each connection) and comes up with an md5 of that string and sends that md5 value across the line. The server then compares the md5 from the client with the md5 generated with the correct information on the server... if they match the password is good, otherwise it rejects the connection. This is NOT perfect security but should be much better then plaintext. If you care about perfect security then use an ssh tunnel with something like PUTTY from the machine the client is on to the machine the server is on with an openssh server set up (this'll likely even work in windows with cygwin) and set up a firewall on the machine the server is on that disallows port the server port connection from outside and only allows ssh from outside (and get a book or three and read those).</p>
<p>This class now handles identifiers for the ArServerClients... all server bases will let a client set a self identifier string, and a here goal... those may be used by any server. Messages can be sent to just server clients that match that message (so that its easier to send messages to people who sent commands).</p>
<p>Master servers (the main connection server base on the central server) can also give each connection an id number (with identGetConnectionID). Things that then connect to the other server bases on a master server (slave servers) should then set their ConnectionID (with identSetConnectionID) so that things can relate the different connections together.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classArServerSimpleOpener.html" title="Set up and open an ArNetworking server. ">ArServerSimpleOpener</a> </dd>
<dd>
<a class="el" href="classArClientBase.html" title="The base client class. ">ArClientBase</a> </dd>
<dd>
<a class="el" href="classArServerMode.html" title="A mode for controlling the robot (only one active) ">ArServerMode</a> </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="drawingsExample_8cpp-example.html#_a31">drawingsExample.cpp</a>, <a class="el" href="drawingsExampleWithRobot_8cpp-example.html#_a10">drawingsExampleWithRobot.cpp</a>, <a class="el" href="popupExample_8cpp-example.html#_a18">popupExample.cpp</a>, <a class="el" href="serverDemo_8cpp-example.html#_a12">serverDemo.cpp</a>, and <a class="el" href="simpleServerExample_8cpp-example.html#_a3">simpleServerExample.cpp</a>.</dd>
</dl></div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a3b5424c9529d3abf77f94e22473a923d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ArServerBase::ArServerBase </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>addAriaExitCB</em> = <code>true</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>serverName</em> = <code>&quot;&quot;</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>addBackupTimeoutToConfig</em> = <code>true</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>backupTimeoutName</em> = <code>&quot;RobotToClientTimeoutInMins&quot;</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>backupTimeoutDesc</em> = <code>&quot;The&#160;amount&#160;of&#160;time&#160;the&#160;central&#160;server&#160;can&#160;<a class="el" href="clientStringInfoExample_8cpp.html#aee8191c767bcded411aa8c5bd8581ce2">go</a>&#160;without&#160;sending&#160;a&#160;packet&#160;to&#160;the&#160;robot&#160;successfully&#160;(when&#160;there&#160;are&#160;packets&#160;to&#160;send).&#160;&#160;A&#160;number&#160;less&#160;than&#160;0&#160;means&#160;this&#160;won't&#160;happen.&#160;&#160;The&#160;time&#160;is&#160;in&#160;minutes&#160;but&#160;takes&#160;doubles&#160;(ie&#160;.5)&#160;(5&#160;seconds&#160;is&#160;used&#160;if&#160;the&#160;value&#160;is&#160;positive,&#160;but&#160;less&#160;than&#160;that&#160;amount)&quot;</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>masterServer</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>slaveServer</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>logPasswordFailureVerbosely</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>allowSlowPackets</em> = <code>true</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>allowIdlePackets</em> = <code>true</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>maxClientsAllowed</em> = <code>-1</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>warningTimeMSec</em> = <code>250</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructor. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">addAriaExitCB</td><td>whether to add an exit callback to aria or not </td></tr>
    <tr><td class="paramname">serverName</td><td>the name for logging </td></tr>
    <tr><td class="paramname">addBackupTimeoutToConfig</td><td>whether to add the backup timeout (to clients of this server) as a config option, if this is true it sets a default value for the timeout of 2 minutes, if its false it has no timeout (but you can set one, see <a class="el" href="classArServerBase.html#a0ccae95d99efbd843a2797c36cb3a2b1" title="Sets the backup timeout. ">ArServerBase::setBackupTimeout()</a>) </td></tr>
    <tr><td class="paramname">backupTimeoutName</td><td>the name of backup timeout </td></tr>
    <tr><td class="paramname">backupTimeoutName</td><td>the description of backup timeout </td></tr>
    <tr><td class="paramname">masterServer</td><td>If this is a master server (ie a central manager) </td></tr>
    <tr><td class="paramname">slaveServer</td><td>If this is a slave server (ie a central forwarder) </td></tr>
    <tr><td class="paramname">logPasswordFailureVerbosely</td><td>Whether we log password failure verbosely or not </td></tr>
    <tr><td class="paramname">allowSlowPackets</td><td>Whether we allow slow packets (that go in their own thread) or not... if we don't then they're processed in the main thread like they have always been </td></tr>
    <tr><td class="paramname">allowIdlePackets</td><td>Whether we allow idle packets (that go in their own thread and are processed only when the robot is idle) or not... if we don't then they're processed in the main thread like they have always been </td></tr>
    <tr><td class="paramname">numClientsAllowed</td><td>This is the number of client connections allowed, negative values mean allow any number (the default is -1) </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="classArServerBase.html#a2df604c980c35140f69d35362a3403f2">addData()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classAria.html#a5c4bfae6980dd3a7655a4cc7b32d1aa4">Aria::addExitCallback()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArConfig.html#ad3aa76dcf6fd83874dda8ccb577415e0">ArConfig::addParam()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArConfig.html#ab6632033992fd48cb2369350a749f0b8">ArConfig::addProcessFileCB()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArPriority.html#aee18574a3aae3c790bd3dadc13cff9a3a05608cb8b09f2e4af9a099b5261820e2">ArPriority::DETAILED</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classAria.html#ace50b4190f04bcacaf285bb5830c5fc2">Aria::getConfig()</a>, <a class="el" href="classArServerBase.html#a28ef22ab3231d448b1a05175bc6f16b9">myAddListMutex</a>, <a class="el" href="classArServerBase.html#aeebe1324aa773f9c03ef5a102086d92d">myAllowIdlePackets</a>, <a class="el" href="classArServerBase.html#a23b4e214a05d368635e5f28e5adc5d45">myAllowSlowPackets</a>, <a class="el" href="classArServerBase.html#a9d8773676449666ece818e7c2cf42a5f">myAriaExitCB</a>, <a class="el" href="classArServerBase.html#ad13e61cb8469c43056d2110877872495">myBackupTimeout</a>, <a class="el" href="classArServerBase.html#ad57d1d57e63b3d84c287a604cb45138f">myBackupTimeoutMutex</a>, <a class="el" href="classArServerBase.html#a83b6a5e1e8195fc20ffcd7827a975df5">myClientsMutex</a>, <a class="el" href="classArServerBase.html#acaabe1912b811a4e9fcf3109a99d58a9">myConnectionNumber</a>, <a class="el" href="classArServerBase.html#ad11655dc98f2e5b6c342459c9222c273">myCycleCallbacksMutex</a>, <a class="el" href="classArServerBase.html#ac2247e67f623910f5d43181bbf7090b4">myDataMutex</a>, <a class="el" href="classArServerBase.html#a041efc205d20443b1aebebba41d82c5b">myDebugLogging</a>, <a class="el" href="classArServerBase.html#ab07ced59df818eb7f60cb3c6a692bb7e">myEndRequestTransactionCB</a>, <a class="el" href="classArServerBase.html#ae1c8c47760e6a336d3dad8f248be30ec">myEnforceType</a>, <a class="el" href="classArServerBase.html#adc7e004366ae82a0d981e05ba115a8dc">myHaveIdleCallbacks</a>, <a class="el" href="classArServerBase.html#a41e39d292529dabdf535f59dc4f3e674">myHaveIdlePackets</a>, <a class="el" href="classArServerBase.html#ad4d2dccce7ae0ee98e07925cae0dd323">myHaveSlowPackets</a>, <a class="el" href="classArServerBase.html#a22ab34ea2ff069987105d693bd6d3b8f">myIdentGetConnectionIDCB</a>, <a class="el" href="classArServerBase.html#a11ff6397e2bf60d3dbd535fd61efd37a">myIdentSetConnectionIDCB</a>, <a class="el" href="classArServerBase.html#abc15e369d60f9331de61b4508da6844c">myIdentSetHereGoalCB</a>, <a class="el" href="classArServerBase.html#a1c42b3804122d4dc86a3a16078a7cabb">myIdentSetSelfIdentifierCB</a>, <a class="el" href="classArServerBase.html#a420f29e1bde3af767d50b446d54dc774">myIdleCallbacksMutex</a>, <a class="el" href="classArServerBase.html#adba944cf11a36da206c015516eeebbe6">myIdleProcessingPendingCB</a>, <a class="el" href="classArServerBase.html#ab6d7ad593cea13fa555b899e21f791cb">myLogPasswordFailureVerbosely</a>, <a class="el" href="classArServerBase.html#a4ad3f93a32ffd325722cbb9e5ec3ca74">myLogPrefix</a>, <a class="el" href="classArServerBase.html#ab38dd65802dbe9b96b62be5333d13e16">myLoopMSecs</a>, <a class="el" href="classArServerBase.html#a3274c6dce2fe57bdf248a285aad7ae20">myMaxClientsAllowed</a>, <a class="el" href="classArServerBase.html#a5e7e4d64f097d21d5901f91fdc3de5b3">myMostClients</a>, <a class="el" href="classArServerBase.html#a704317ff8caeb7bdf892b7e13d1ca2cc">myNewBackupTimeout</a>, <a class="el" href="classArServerBase.html#a996eb22298bc2d19ecfb3ec3929cc7fc">myNextDataNumber</a>, <a class="el" href="classArServerBase.html#a18170d67add932519ea770539f348447">myNumClients</a>, <a class="el" href="classArServerBase.html#a5f9e411bead858e98ec083cc1623ca87">myOpened</a>, <a class="el" href="classArServerBase.html#ab6d15e588da01c6b2184b285f9e8c168">myProcessFileCB</a>, <a class="el" href="classArServerBase.html#a8d023b1f58396af8c0a28c00c234e7d3">myProcessingSlowIdleMutex</a>, <a class="el" href="classArServerBase.html#a02a993b40acbdc05d1ac4bba209b2d14">myProcessPacketCB</a>, <a class="el" href="classArServerBase.html#a0dfc54197bac69f72eb624011a43db57">myRejecting</a>, <a class="el" href="classArServerBase.html#a132a7eee004a6a29db7b8add4151d69d">myRemoveSetMutex</a>, <a class="el" href="classArServerBase.html#a5ae5da090806634815d6fae6d1cf3f99">myServerName</a>, <a class="el" href="classArServerBase.html#a2228b9f45f9af3ffbc1ce4d2df7cd08d">mySlowIdleThread</a>, <a class="el" href="classArServerBase.html#af69d0afca33e797304b58248c553a3ee">myStartRequestTransactionCB</a>, <a class="el" href="classArServerBase.html#a80134d6000d350b981848f360bdac786">myTcpPort</a>, <a class="el" href="classArServerBase.html#a908a450a8044c52a7da7441fd35a7dff">myTimeChecker</a>, <a class="el" href="classArServerBase.html#a4db94b5e00ee733fbcae8f1d065d79fc">myUdpPort</a>, <a class="el" href="classArServerBase.html#ab18c9fda663fc7c9114ce240068a0ee0">myUdpReceiver</a>, <a class="el" href="classArServerBase.html#a28dda2d862dfe56a22591d1602c89c31">myUserInfo</a>, <a class="el" href="classArServerBase.html#ab377c9e75be9412af479f386121e8f4c">myUsingOwnNumClients</a>, <a class="el" href="classArServerBase.html#a534bb41c6853fd50aaaf3bbd7aff539b">myVerboseLogLevel</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArTimeChecker.html#ac4a23f4e1be2144a0a029cfcd6abdd5a">ArTimeChecker::setDefaultMSecs()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a00069ede1325b6f9f500ef2636858262">ArMutex::setLogName()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArTimeChecker.html#a680f9d318026a18a975eb0ce401798db">ArTimeChecker::setName()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor.html#acbc4f69001bac535e6507b4ca696c7d7">ArFunctor::setName()</a>, <a class="el" href="classArNetPacketReceiverUdp.html#a7d5fdeacc3d99e7a946902ed63cd8058">ArNetPacketReceiverUdp::setProcessPacketCB()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#af03075fb22fbfca1212d524f772f6c1c">ArThread::setThreadName()</a>, <a class="el" href="classArServerCommands.html#a17e8a1248f23b0f1dde4606af34b0efdaebd1dc6f46009b607589b0ea2cea27c5">ArServerCommands::TYPE_UNSPECIFIED</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a6e80d09c67dad73e9ba736e91ec893be">ArLog::Verbose</a>.</p>

</div>
</div>
<a class="anchor" id="a9654db575351b18c10a08729d9fda1ce"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ArServerBase::~ArServerBase </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Destructor. </p>

<p>References <a class="el" href="classArServerBase.html#a72a4cff6dcdd01018f7c8c1f8361382c">close()</a>, and <a class="el" href="classArServerBase.html#a2228b9f45f9af3ffbc1ce4d2df7cd08d">mySlowIdleThread</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="af1d003d3aca3e9697d913a450cc8a35c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerBase::acceptTcpSockets </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>accepts new sockets and moves them into the client list </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html#a6647efb8d20f9523dad090a68b1e4e2c">ArSocket::accept()</a>, <a class="el" href="classArServerBase.html#a467ff57fd9a36aaf019ec900d5a90eb2">finishAcceptingSocket()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html#a6f083363003397e042900e745da00a56">ArSocket::getFD()</a>, <a class="el" href="classArServerBase.html#a76569dd9b2df010871ee1cf8951710f4">myAcceptingSocket</a>, and <a class="el" href="classArServerBase.html#a02816b3969fe21b6e90b14f1da0fc69e">myTcpSocket</a>.</p>

<p>Referenced by <a class="el" href="classArServerBase.html#a16ec2fa72a62caa7fd9a0da9fef6e45d">loopOnce()</a>, and <a class="el" href="classArServerBase.html#a3403e9c34e6d6fe82e2397471caf95b8">remTooManyClientsCB()</a>.</p>

</div>
</div>
<a class="anchor" id="a5c10bb9e88f0152bcdfd4a69073c43a6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerBase::addClientRemovedCallback </td>
          <td>(</td>
          <td class="paramtype"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor1.html">ArFunctor1</a>&lt; <a class="el" href="classArServerClient.html">ArServerClient</a> * &gt; *&#160;</td>
          <td class="paramname"><em>functor</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add a callback to be invoked when a client has been removed (but before it is deleted) </p>
<p><b>Java Wrapper Library:</b> Use ArFunctor_ServerClient instead of ArFunctor1&lt;ArServerClient*&gt; for <em>functor</em>. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="el" href="classArServerBase.html#aced44d6a2ba979c00a3970c1ef26c1f5">myClientRemovedCallbacks</a>, <a class="el" href="classArServerBase.html#ac2247e67f623910f5d43181bbf7090b4">myDataMutex</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArCentralManager.html#a94ff98a6843b6bcf9706189f244af0d1">ArCentralManager::ArCentralManager()</a>.</p>

</div>
</div>
<a class="anchor" id="a1dd6a24a2047f58b072e81c0738422d5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerBase::addCycleCallback </td>
          <td>(</td>
          <td class="paramtype"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor.html">ArFunctor</a> *&#160;</td>
          <td class="paramname"><em>functor</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add a callback to be called at every cycle. </p>
<p>Cycle callbacks are called every cycle, in no particular order.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">functor</td><td>Functor to add. </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="el" href="classArServerBase.html#a9de4ddb61dfcede3cfd4f7c3e7b53fba">myCycleCallbacks</a>, <a class="el" href="classArServerBase.html#ad11655dc98f2e5b6c342459c9222c273">myCycleCallbacksMutex</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArServerHandlerPopup.html#aeb235821fa8919ec108b0bdf66ed49ca">ArServerHandlerPopup::ArServerHandlerPopup()</a>.</p>

</div>
</div>
<a class="anchor" id="a2df604c980c35140f69d35362a3403f2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerBase::addData </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>description</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2.html">ArFunctor2</a>&lt; <a class="el" href="classArServerClient.html">ArServerClient</a> *, <a class="el" href="classArNetPacket.html">ArNetPacket</a> * &gt; *&#160;</td>
          <td class="paramname"><em>functor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>argumentDescription</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>returnDescription</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>commandGroup</em> = <code>NULL</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>dataFlags</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Adds a callback to be called when requests for some data are recieved. </p>
<dl class="section note"><dt>Note</dt><dd>A callback is called from the server run loop, and if this callback does not return in a timely manner data reception will be delayed (blocked).</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>the name of the data</td></tr>
    <tr><td class="paramname">description</td><td>the more verbose description of what the data is for</td></tr>
    <tr><td class="paramname">functor</td><td>the functor to call when this data is requested</td></tr>
    <tr><td class="paramname">argumentDescription</td><td>a description of the arguments expected</td></tr>
    <tr><td class="paramname">returnDescription</td><td>a description of what the data returns</td></tr>
    <tr><td class="paramname">commandGroup</td><td>the name of the group this command is in</td></tr>
    <tr><td class="paramname">dataFlags</td><td>Most people won't need this, its for some advanced server things... this is a list of data flags separated by | characters, the flags are listed in <a class="el" href="classArClientData.html" title="class to hold information about the different data the client has ">ArClientData</a> docs</td></tr>
  </table>
  </dd>
</dl>
<p><b>Python Wrapper Library:</b> Pass the name of a function or a lambda expression for </p><ul>
<li>functor. </li>
</ul>
<p><b>Java Wrapper Library:</b> Use a subclass of ArFunctor_ServerData instead of the <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2.html">ArFunctor2</a> template </p><ul>
<li>functor. </li>
</ul>

<p>References <a class="el" href="classArServerBase.html#a6ab8869702eccf72ad8502b3017b9840">addDataAdvanced()</a>.</p>

<p>Referenced by <a class="el" href="classArServerHandlerCommands.html#a860062d3fbb628d4bd8fe47bf690fbd1">ArServerHandlerCommands::addCommand()</a>, <a class="el" href="classArServerHandlerConfig.html#a10d9480683ced108c86afae1893c8466">ArServerHandlerConfig::addDefaultServerCommands()</a>, <a class="el" href="classArServerInfoDrawings.html#a593c3d93e722ab316ab6404c7f734011">ArServerInfoDrawings::addDrawing()</a>, <a class="el" href="classArServerMode.html#a9acf27a776a00075387380f01d96822c">ArServerMode::addModeData()</a>, <a class="el" href="classArServerHandlerCommands.html#a68fd880bff6fcd33b39e33f5e47cc935">ArServerHandlerCommands::addStringCommand()</a>, <a class="el" href="classArHybridForwarderVideo.html#a085996653431e1995159ded98636fd97">ArHybridForwarderVideo::addToCameraCollection()</a>, <a class="el" href="classArCentralManager.html#a94ff98a6843b6bcf9706189f244af0d1">ArCentralManager::ArCentralManager()</a>, <a class="el" href="classArClientSwitchManager.html#a98e33ba3d1698b01b2152d4ca0af0993">ArClientSwitchManager::ArClientSwitchManager()</a>, <a class="el" href="classArMapChanger.html#a3c4275b2fe1eb11f0937a805b21e8eb1">ArMapChanger::ArMapChanger()</a>, <a class="el" href="classArServerBase.html#a3b5424c9529d3abf77f94e22473a923d">ArServerBase()</a>, <a class="el" href="classArServerDeleteFileOnServer.html#af58277347e3f04e44227ae5fcd6a8618">ArServerDeleteFileOnServer::ArServerDeleteFileOnServer()</a>, <a class="el" href="classArServerFileFromClient.html#a2a2ed40cbe8f1e24ecf3d0872a2da2bb">ArServerFileFromClient::ArServerFileFromClient()</a>, <a class="el" href="classArServerFileLister.html#a3019d836cd20f21e160cf6864f1f39a2">ArServerFileLister::ArServerFileLister()</a>, <a class="el" href="classArServerFileToClient.html#a8b60745ac5c00f736546398b1ad470ff">ArServerFileToClient::ArServerFileToClient()</a>, <a class="el" href="classArServerHandlerCommands.html#a3ca642c2210ab2c2efcc8bb2164a98f7">ArServerHandlerCommands::ArServerHandlerCommands()</a>, <a class="el" href="classArServerHandlerConfig.html#a91b50d4901ff85f329c7a75a084d564d">ArServerHandlerConfig::ArServerHandlerConfig()</a>, <a class="el" href="classArServerHandlerMap.html#a95166d757b0915e5dca239f44d739e99">ArServerHandlerMap::ArServerHandlerMap()</a>, <a class="el" href="classArServerHandlerMapping.html#a942b282d2bf34464b9b6655d7537eedb">ArServerHandlerMapping::ArServerHandlerMapping()</a>, <a class="el" href="classArServerHandlerPopup.html#aeb235821fa8919ec108b0bdf66ed49ca">ArServerHandlerPopup::ArServerHandlerPopup()</a>, <a class="el" href="classArServerInfoDrawings.html#ad9278fea370ec893427b54eb3d85a763">ArServerInfoDrawings::ArServerInfoDrawings()</a>, <a class="el" href="classArServerInfoRobot.html#ae7a1c348ddaacc8669eb908a12d34c7e">ArServerInfoRobot::ArServerInfoRobot()</a>, <a class="el" href="classArServerInfoSensor.html#a6142189716002731d1c68bd39301a586">ArServerInfoSensor::ArServerInfoSensor()</a>, <a class="el" href="classArServerInfoStrings.html#a66bc8483ce13e3f10444ce5fdd71ea43">ArServerInfoStrings::ArServerInfoStrings()</a>, <a class="el" href="classArServerMode.html#a2244b7807bc65d8b21d6d1fc7aa48b30">ArServerMode::ArServerMode()</a>, <a class="el" href="classArServerModeRatioDrive.html#a084495b3b4b72574b0fa7f4f44ad3c4e">ArServerModeRatioDrive::ArServerModeRatioDrive()</a>, <a class="el" href="classArHybridForwarderVideo.html#ac4c93743ac228ef81562d2d163b6e2f8">ArHybridForwarderVideo::finishConstructor()</a>, and <a class="el" href="classArServerHandlerCamera.html#a1694aac881bf50fc64a601f3861ce246">ArServerHandlerCamera::getCameraName()</a>.</p>

</div>
</div>
<a class="anchor" id="a6ab8869702eccf72ad8502b3017b9840"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerBase::addDataAdvanced </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>description</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2.html">ArFunctor2</a>&lt; <a class="el" href="classArServerClient.html">ArServerClient</a> *, <a class="el" href="classArNetPacket.html">ArNetPacket</a> * &gt; *&#160;</td>
          <td class="paramname"><em>functor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>argumentDescription</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>returnDescription</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>commandGroup</em> = <code>NULL</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>dataFlags</em> = <code>NULL</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>advancedCommandNumber</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2.html">ArFunctor2</a>&lt; long, unsigned int &gt; *&#160;</td>
          <td class="paramname"><em>requestChangedFunctor</em> = <code>NULL</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRetFunctor2.html">ArRetFunctor2</a>&lt; bool, <a class="el" href="classArServerClient.html">ArServerClient</a> *, <a class="el" href="classArNetPacket.html">ArNetPacket</a> * &gt; *&#160;</td>
          <td class="paramname"><em>requestOnceFunctor</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Adds a callback for requests in a more advanced manner, for internal use. </p>
<p>Adds a callback to be called when requests for some data are recieved.</p>
<dl class="section note"><dt>Note</dt><dd>A callback is called from the server run loop, and if this callback does not return in a timely manner data reception will be delayed (blocked).</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>the name of the data</td></tr>
    <tr><td class="paramname">description</td><td>the more verbose description of what the data is for</td></tr>
    <tr><td class="paramname">functor</td><td>the functor to call when this data is requested</td></tr>
    <tr><td class="paramname">argumentDescription</td><td>a description of the arguments expected</td></tr>
    <tr><td class="paramname">returnDescription</td><td>a description of what the data returns</td></tr>
    <tr><td class="paramname">commandGroup</td><td>the name of the group this command is in</td></tr>
    <tr><td class="paramname">dataFlags</td><td>Most people won't need this, its for some advanced server things... this is a list of data flags separated by | characters, the flags are listed in <a class="el" href="classArClientData.html" title="class to hold information about the different data the client has ">ArClientData</a> docs</td></tr>
  </table>
  </dd>
</dl>
<p><b>Python Wrapper Library:</b> Pass the name of a function or a lambda expression for </p><ul>
<li>functor. </li>
</ul>
<p><b>Java Wrapper Library:</b> Use a subclass of ArFunctor_ServerData instead of the <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2.html">ArFunctor2</a> template </p><ul>
<li>functor.</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">advancedCommandNumber</td><td>0 for most people... it is the optional number of the command, this is a very advanced option and is made for some server forwarding things so basically no one should use it, 0 means use the auto way... anything else does it manually... the number needs to be the same or higher as the next number available</td></tr>
    <tr><td class="paramname">requestChangedFunctor</td><td>functor called with the lowest amount of time requested for this packet, called whenever the requests for the packet change, note that 0 and higher means thats how often it was asked for, -1 means something has requested the data but just when it is called, and -2 means that nothing wants the data</td></tr>
    <tr><td class="paramname">requestOnceFunctor</td><td>functor called if this was a request once... with the server and client just like the normal functor, but its only called if its a request once, note that both are called (as long as they aren't NULL of course)</td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classArServerBase.html#a2df604c980c35140f69d35362a3403f2" title="Adds a callback to be called when requests for some data are recieved. ">addData()</a> </dd></dl>

<p>References <a class="el" href="classArServerData.html#a385355c30007e0a04072b3a476c87766">ArServerData::addDataFlags()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerBase.html#a4ecd956503a00976c1a189c4d7aea858">myAdditionalDataFlags</a>, <a class="el" href="classArServerBase.html#a67d80e1a21fb9d92368d11cc49d6afae">myDataMap</a>, <a class="el" href="classArServerBase.html#ac2247e67f623910f5d43181bbf7090b4">myDataMutex</a>, <a class="el" href="classArServerBase.html#a469c0add66d171732e993af7128dbfd1">myGetFrequencyCB</a>, <a class="el" href="classArServerBase.html#a996eb22298bc2d19ecfb3ec3929cc7fc">myNextDataNumber</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a6e80d09c67dad73e9ba736e91ec893be">ArLog::Verbose</a>.</p>

<p>Referenced by <a class="el" href="classArServerBase.html#a2df604c980c35140f69d35362a3403f2">addData()</a>.</p>

</div>
</div>
<a class="anchor" id="afa3b9a97e42df6d21c84facbf5885673"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerBase::addIdleSingleShotCallback </td>
          <td>(</td>
          <td class="paramtype"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor.html">ArFunctor</a> *&#160;</td>
          <td class="paramname"><em>functor</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Adds an idle callback to be called once next time the robot is idle. </p>
<p>Note that if idle packets are not allowed then idle callbacks will not work.</p>
<dl class="section return"><dt>Returns</dt><dd>true if the callback was added, false if not </dd></dl>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor.html#a4c94bb50825f76071b71b316dd0bb710">ArFunctor::getName()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerBase.html#aeebe1324aa773f9c03ef5a102086d92d">myAllowIdlePackets</a>, <a class="el" href="classArServerBase.html#adc7e004366ae82a0d981e05ba115a8dc">myHaveIdleCallbacks</a>, <a class="el" href="classArServerBase.html#a500ccd4790811377f24342cd842f6aba">myIdleCallbacks</a>, <a class="el" href="classArServerBase.html#a420f29e1bde3af767d50b446d54dc774">myIdleCallbacksMutex</a>, <a class="el" href="classArServerBase.html#a534bb41c6853fd50aaaf3bbd7aff539b">myVerboseLogLevel</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

</div>
</div>
<a class="anchor" id="ae83d192ad0c7765050e4b4986ce36377"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerBase::addTooManyClientsCB </td>
          <td>(</td>
          <td class="paramtype"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor1.html">ArFunctor1</a>&lt; const char * &gt; *&#160;</td>
          <td class="paramname"><em>functor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>position</em> = <code>50</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Adds a callback when we switch states while starting. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArGenericCallbackList.html#abba0eadb150d38831460a8ec536b5284">ArGenericCallbackList&lt; GenericFunctor &gt;::addCallback()</a>, and <a class="el" href="classArServerBase.html#a0d52a28c6ba5c6a87b46a84de0fec050">myTooManyClientsCBList</a>.</p>

</div>
</div>
<a class="anchor" id="acc31eee87d89bb9fe77bd3540433b26c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerBase::allowingIdlePackets </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets if we're allowing idle packets. </p>

<p>References <a class="el" href="classArServerBase.html#aeebe1324aa773f9c03ef5a102086d92d">myAllowIdlePackets</a>.</p>

</div>
</div>
<a class="anchor" id="aaf43c74fa075d30ec57eb1ac4221084c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerBase::broadcastPacketTcp </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Broadcasts packets to any client wanting this data. </p>
<p>This will broadcast this packet to any client that wants this data....</p>
<p>this no longer excludes things because that doesn't work well with the central server, so use broadcastPacketTcpWithExclusion for that if you really want it...</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">packet</td><td>the packet to send </td></tr>
    <tr><td class="paramname">name</td><td>the type of data to send </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>false if there is no data for this name </dd></dl>

<p>References <a class="el" href="classArServerBase.html#ae2370b5131dd1fa05f47fbe526954277">broadcastPacketTcpWithExclusion()</a>.</p>

<p>Referenced by <a class="el" href="classArServerInfoStrings.html#a00732cab5b92cd9381e4432473325acc">ArServerInfoStrings::addString()</a>, <a class="el" href="classArServerHandlerCamera.html#ae0a698b7a408b8f7c2c1634d916250c8">ArServerHandlerCamera::cameraModeLookAtGoal()</a>, <a class="el" href="classArServerHandlerCamera.html#ac6a197d3bd1b525c21b90d794d47ac63">ArServerHandlerCamera::cameraModeLookAtPoint()</a>, <a class="el" href="classArServerHandlerCamera.html#af4a7e9ac44a02ae36508b585c9db577a">ArServerHandlerCamera::cameraModePosition()</a>, <a class="el" href="classArServerMode.html#aeccf06f0f128f489f56cd07b966ac2b4">ArServerMode::checkBroadcastModeInfoPacket()</a>, <a class="el" href="classArServerHandlerPopup.html#aa1979f99135636532f78255662c77461">ArServerHandlerPopup::closePopup()</a>, <a class="el" href="classArServerHandlerConfig.html#a4db077c50a1e1ec80233068b5cb55972">ArServerHandlerConfig::createEmptyConfigDefaults()</a>, <a class="el" href="classArServerHandlerPopup.html#ab79890fae1963f6265408079728af806">ArServerHandlerPopup::createPopup()</a>, <a class="el" href="classArServerHandlerCommMonitor.html#a43e31a53641f6f94f99cf52e6abbe709">ArServerHandlerCommMonitor::cycleCallback()</a>, <a class="el" href="classArServerHandlerCameraCollection.html#a2348fea5915e5f3622acfe7116572ad2">ArServerHandlerCameraCollection::handleCameraCollectionModified()</a>, <a class="el" href="classArMapChanger.html#a638fba4b6bbe39292c5134f376e912ce">ArMapChanger::handleChangePacket()</a>, <a class="el" href="classArServerFileFromClient.html#ab48be559df234d54b8172d5c44ddfd4f">ArServerFileFromClient::internalPutFile()</a>, <a class="el" href="classArServerHandlerConfig.html#a9af737f5682fa22e1dd7723281467375">ArServerHandlerConfig::internalSetConfig()</a>, <a class="el" href="classArServerHandlerConfig.html#af07ca3f5d0ebef03661e552725503c7c">ArServerHandlerConfig::loadDefaultsFromFile()</a>, <a class="el" href="classArServerHandlerConfig.html#a9f47e2470c31a46d107bb40022095622">ArServerHandlerConfig::loadDefaultsFromPacket()</a>, <a class="el" href="classArServerHandlerMap.html#a3c0137cf1b3cd7ad0e4991bfc6089d93">ArServerHandlerMap::loadMap()</a>, <a class="el" href="classArServerBase.html#a16ec2fa72a62caa7fd9a0da9fef6e45d">loopOnce()</a>, <a class="el" href="classArServerHandlerMap.html#a100049631f49fbb153c9d725e565aaf4">ArServerHandlerMap::mapChanged()</a>, <a class="el" href="classArServerMode.html#a5701ebb7e5a76845fee0be277c40c13e">ArServerMode::modeUserTask()</a>, <a class="el" href="classArServerHandlerPopup.html#a7fc3996ddcc2dd9c8b11da2a13bc0c35">ArServerHandlerPopup::netPopupClicked()</a>, <a class="el" href="classArServerHandlerConfig.html#a78e9aa1b54822f07e20ce416806af50b">ArServerHandlerConfig::restartHardware()</a>, <a class="el" href="classArServerHandlerConfig.html#ad9544c562453cafd2378cc250d657159">ArServerHandlerConfig::restartSoftware()</a>, <a class="el" href="classArCentralManager.html#a2365aa28aa0c04d2c4b567ab9baa0054">ArCentralManager::runThread()</a>, <a class="el" href="classArServerHandlerPopup.html#aad0b667eff450022feaef4a194761672">ArServerHandlerPopup::serverCycleCallback()</a>, <a class="el" href="classArServerHandlerMapping.html#a9e3f4f408780ebd72b54a0f6691ad3fa">ArServerHandlerMapping::serverMappingEnd()</a>, <a class="el" href="classArServerHandlerMapping.html#a4221bef12f98c7cdc092f96797f426b0">ArServerHandlerMapping::serverMappingStart()</a>, <a class="el" href="classArServerHandlerCameraCollection.html#a2c050b613cb97e138288da605e0ad91e">ArServerHandlerCameraCollection::setParams()</a>, <a class="el" href="classArServerHandlerMap.html#a006079b813bfca435f4ea686e915adae">ArServerHandlerMap::useMap()</a>, and <a class="el" href="classArServerInfoRobot.html#ab22b4e8128c3c289fbb8c724feaff5f2">ArServerInfoRobot::userTask()</a>.</p>

</div>
</div>
<a class="anchor" id="aee133514be0a90cddb8fb8937928e935"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerBase::broadcastPacketTcpByCommand </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>command</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Broadcasts packets to any client wanting this data. </p>
<p>This will broadcast this packet to any client that wants this data....</p>
<p>this no longer excludes things because that doesn't work well with the central server, so use broadcastPacketTcpByCommandWithExclusion for that...</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">packet</td><td>the packet to send </td></tr>
    <tr><td class="paramname">command</td><td>the command number of the data to send</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>false if there is no data for this name </dd></dl>

<p>References <a class="el" href="classArServerBase.html#a709cfe0356ecde312a8454f582fb26f6">broadcastPacketTcpByCommandWithExclusion()</a>.</p>

<p>Referenced by <a class="el" href="classArCentralForwarder.html#a50ae9f94a38d94133fdcd2fc33371a56">ArCentralForwarder::receiveData()</a>.</p>

</div>
</div>
<a class="anchor" id="a709cfe0356ecde312a8454f582fb26f6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerBase::broadcastPacketTcpByCommandWithExclusion </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>command</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArServerClient.html">ArServerClient</a> *&#160;</td>
          <td class="paramname"><em>excludeClient</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>match</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArServerClientIdentifier.html">ArServerClientIdentifier</a>&#160;</td>
          <td class="paramname"><em>identifier</em> = <code><a class="el" href="classArServerClientIdentifier.html">ArServerClientIdentifier</a>()</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>matchConnectionID</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Broadcasts packets to any client wanting this data. </p>
<p>This will broadcast this packet to any client that wants this data.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">packet</td><td>the packet to send </td></tr>
    <tr><td class="paramname">command</td><td>the command number of the data to send </td></tr>
    <tr><td class="paramname">excludeClient</td><td>don't send data to this client (NULL (the default) just ignores this feature) </td></tr>
    <tr><td class="paramname">match</td><td>whether to match the identifier or not </td></tr>
    <tr><td class="paramname">identifier</td><td>the identifier to match </td></tr>
    <tr><td class="paramname">matchConnectionID</td><td>true to match the connection ID, false to match the other ID</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>false if there is no data for this name </dd></dl>

<p>References <a class="el" href="classArServerClient.html#a12cdbaae7a6a207a8d027a1d41c89ff9">ArServerClient::broadcastPacketTcp()</a>, <a class="el" href="classArNetPacket.html#a967d1901ff4e9cc53e31383eaa3bb609">ArNetPacket::empty()</a>, <a class="el" href="classArServerClient.html#a24d2b2edb9c95aaf6a6e2a888f7143d0">ArServerClient::getIdentifier()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerClientIdentifier.html#ac18520127ed3fc33885b1e94da5b05d2">ArServerClientIdentifier::matches()</a>, <a class="el" href="classArServerBase.html#ab9632551d8be729e00471415032c7994">myClients</a>, <a class="el" href="classArServerBase.html#a83b6a5e1e8195fc20ffcd7827a975df5">myClientsMutex</a>, <a class="el" href="classArServerBase.html#a5f9e411bead858e98ec083cc1623ca87">myOpened</a>, <a class="el" href="classArNetPacket.html#abdd7e7d8f5de66e2b9131c0d3c548a3e">ArNetPacket::setCommand()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a6e80d09c67dad73e9ba736e91ec893be">ArLog::Verbose</a>.</p>

<p>Referenced by <a class="el" href="classArServerBase.html#aee133514be0a90cddb8fb8937928e935">broadcastPacketTcpByCommand()</a>, and <a class="el" href="classArServerBase.html#ae2370b5131dd1fa05f47fbe526954277">broadcastPacketTcpWithExclusion()</a>.</p>

</div>
</div>
<a class="anchor" id="a5cee7b7a375e96e0e641697bbe17189f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerBase::broadcastPacketTcpToMatching </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArServerClientIdentifier.html">ArServerClientIdentifier</a>&#160;</td>
          <td class="paramname"><em>identifier</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>matchConnectionID</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Broadcasts packets to any client wanting this data that matches the ID. </p>
<p>This will broadcast this packet to any client that wants this data....</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">packet</td><td>the packet to send </td></tr>
    <tr><td class="paramname">name</td><td>the type of data to send </td></tr>
    <tr><td class="paramname">identifier</td><td>the identifier to match </td></tr>
    <tr><td class="paramname">matchConnectionID</td><td>true to match the connection ID, false to match the other ID </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>false if there is no data for this name </dd></dl>

<p>References <a class="el" href="classArServerBase.html#ae2370b5131dd1fa05f47fbe526954277">broadcastPacketTcpWithExclusion()</a>.</p>

<p>Referenced by <a class="el" href="classArCentralManager.html#aa12fce8de08e80fa59053dfd028942b6">ArCentralManager::forwarderServerClientRemovedCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="ae2370b5131dd1fa05f47fbe526954277"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerBase::broadcastPacketTcpWithExclusion </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArServerClient.html">ArServerClient</a> *&#160;</td>
          <td class="paramname"><em>excludeClient</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>match</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArServerClientIdentifier.html">ArServerClientIdentifier</a>&#160;</td>
          <td class="paramname"><em>identifier</em> = <code><a class="el" href="classArServerClientIdentifier.html">ArServerClientIdentifier</a>()</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>matchConnectionID</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Broadcasts packets to any client wanting this data. </p>
<p>This will broadcast this packet to any client that wants this data.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">packet</td><td>the packet to send </td></tr>
    <tr><td class="paramname">name</td><td>the type of data to send </td></tr>
    <tr><td class="paramname">excludeClient</td><td>don't send data to this client (NULL (the default) just ignores this feature) </td></tr>
    <tr><td class="paramname">match</td><td>whether to match the identifier or not </td></tr>
    <tr><td class="paramname">identifier</td><td>the identifier to match </td></tr>
    <tr><td class="paramname">matchConnectionID</td><td>true to match the connection ID, false to match the other ID </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>false if there is no data for this name </dd></dl>

<p>References <a class="el" href="classArServerBase.html#a709cfe0356ecde312a8454f582fb26f6">broadcastPacketTcpByCommandWithExclusion()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerBase.html#a67d80e1a21fb9d92368d11cc49d6afae">myDataMap</a>, <a class="el" href="classArServerBase.html#ac2247e67f623910f5d43181bbf7090b4">myDataMutex</a>, <a class="el" href="classArServerBase.html#a534bb41c6853fd50aaaf3bbd7aff539b">myVerboseLogLevel</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArServerBase.html#aaf43c74fa075d30ec57eb1ac4221084c">broadcastPacketTcp()</a>, <a class="el" href="classArServerBase.html#a5cee7b7a375e96e0e641697bbe17189f">broadcastPacketTcpToMatching()</a>, and <a class="el" href="classArServerHandlerConfig.html#a1b884dc66c4aad129fa2ddd8af7665ea">ArServerHandlerConfig::configUpdated()</a>.</p>

</div>
</div>
<a class="anchor" id="ad1bb0c25a5dc4f2b99907a4f98e749da"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerBase::broadcastPacketUdp </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Broadcasts packets to any client wanting this data. </p>
<p>This will broadcast this packet to any client that wants this data....</p>
<p>this no longer excludes things because that doesn't work well with the central server, so use broadcastPacketUdpWithExclusion for that if you really want to</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">packet</td><td>the packet to send </td></tr>
    <tr><td class="paramname">name</td><td>the type of data to send</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>false if there is no data for this name </dd></dl>

<p>References <a class="el" href="classArServerBase.html#aaea911b004d1b352ee4657d756c69243">broadcastPacketUdpWithExclusion()</a>.</p>

<p>Referenced by <a class="el" href="classArServerHandlerCommMonitor.html#a43e31a53641f6f94f99cf52e6abbe709">ArServerHandlerCommMonitor::cycleCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="ae1f90e6da9757192c8e349f903c29639"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerBase::broadcastPacketUdpByCommand </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>command</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Broadcasts packets to any client wanting this data. </p>
<p>This will broadcast this packet to any client that wants this data....</p>
<p>(To restrict what clients the command is sent to, use the <a class="el" href="classArServerBase.html#a1951a33ebf82fd31a0c79d50d622215d" title="Broadcasts packets to any client wanting this data. ">broadcastPacketUdpByCommandWithExclusion()</a> method.)</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">packet</td><td>the packet to send </td></tr>
    <tr><td class="paramname">command</td><td>the type of data to send</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>false if there is no data for this name </dd></dl>

<p>References <a class="el" href="classArServerBase.html#a1951a33ebf82fd31a0c79d50d622215d">broadcastPacketUdpByCommandWithExclusion()</a>.</p>

<p>Referenced by <a class="el" href="classArCentralForwarder.html#a50ae9f94a38d94133fdcd2fc33371a56">ArCentralForwarder::receiveData()</a>.</p>

</div>
</div>
<a class="anchor" id="a1951a33ebf82fd31a0c79d50d622215d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerBase::broadcastPacketUdpByCommandWithExclusion </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>command</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArServerClient.html">ArServerClient</a> *&#160;</td>
          <td class="paramname"><em>excludeClient</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>match</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArServerClientIdentifier.html">ArServerClientIdentifier</a>&#160;</td>
          <td class="paramname"><em>identifier</em> = <code><a class="el" href="classArServerClientIdentifier.html">ArServerClientIdentifier</a>()</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>matchConnectionID</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Broadcasts packets to any client wanting this data. </p>
<p>This will broadcast this packet to any client that wants this data.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">packet</td><td>the packet to send </td></tr>
    <tr><td class="paramname">command</td><td>the type of data to send </td></tr>
    <tr><td class="paramname">excludeClient</td><td>don't send data to this client (NULL (the default) just ignores this feature) </td></tr>
    <tr><td class="paramname">match</td><td>whether to match the identifier or not </td></tr>
    <tr><td class="paramname">identifier</td><td>the identifier to match </td></tr>
    <tr><td class="paramname">matchConnectionID</td><td>true to match the connection ID, false to match the other ID </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>false if there is no data for this name </dd></dl>

<p>References <a class="el" href="classArServerClient.html#ad4e6c3c33365cc9c3d4f4791364cc477">ArServerClient::broadcastPacketUdp()</a>, <a class="el" href="classArNetPacket.html#a967d1901ff4e9cc53e31383eaa3bb609">ArNetPacket::empty()</a>, <a class="el" href="classArServerClient.html#a24d2b2edb9c95aaf6a6e2a888f7143d0">ArServerClient::getIdentifier()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerClientIdentifier.html#ac18520127ed3fc33885b1e94da5b05d2">ArServerClientIdentifier::matches()</a>, <a class="el" href="classArServerBase.html#ab9632551d8be729e00471415032c7994">myClients</a>, <a class="el" href="classArServerBase.html#a83b6a5e1e8195fc20ffcd7827a975df5">myClientsMutex</a>, <a class="el" href="classArServerBase.html#a5f9e411bead858e98ec083cc1623ca87">myOpened</a>, <a class="el" href="classArNetPacket.html#abdd7e7d8f5de66e2b9131c0d3c548a3e">ArNetPacket::setCommand()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a6e80d09c67dad73e9ba736e91ec893be">ArLog::Verbose</a>.</p>

<p>Referenced by <a class="el" href="classArServerBase.html#ae1f90e6da9757192c8e349f903c29639">broadcastPacketUdpByCommand()</a>, and <a class="el" href="classArServerBase.html#aaea911b004d1b352ee4657d756c69243">broadcastPacketUdpWithExclusion()</a>.</p>

</div>
</div>
<a class="anchor" id="a645dbba718d2278f8cd601fdf96fdcff"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerBase::broadcastPacketUdpToMatching </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArServerClientIdentifier.html">ArServerClientIdentifier</a>&#160;</td>
          <td class="paramname"><em>identifier</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>matchConnectionID</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Broadcasts packets to any client wanting this data that matches. </p>
<p>This will broadcast this packet to any client that wants this data....</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">packet</td><td>the packet to send </td></tr>
    <tr><td class="paramname">name</td><td>the type of data to send </td></tr>
    <tr><td class="paramname">identifier</td><td>the identifier to match </td></tr>
    <tr><td class="paramname">matchConnectionID</td><td>true to match the connection ID, false to match the other ID</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>false if there is no data for this name </dd></dl>

<p>References <a class="el" href="classArServerBase.html#aaea911b004d1b352ee4657d756c69243">broadcastPacketUdpWithExclusion()</a>.</p>

</div>
</div>
<a class="anchor" id="aaea911b004d1b352ee4657d756c69243"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerBase::broadcastPacketUdpWithExclusion </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArServerClient.html">ArServerClient</a> *&#160;</td>
          <td class="paramname"><em>excludeClient</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>match</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArServerClientIdentifier.html">ArServerClientIdentifier</a>&#160;</td>
          <td class="paramname"><em>identifier</em> = <code><a class="el" href="classArServerClientIdentifier.html">ArServerClientIdentifier</a>()</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>matchConnectionID</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Broadcasts packets to any client wanting this data. </p>
<p>This will broadcast this packet to any client that wants this data.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">packet</td><td>the packet to send </td></tr>
    <tr><td class="paramname">name</td><td>the type of data to send </td></tr>
    <tr><td class="paramname">excludeClient</td><td>don't send data to this client (NULL (the default) just ignores this feature) </td></tr>
    <tr><td class="paramname">match</td><td>whether to match the identifier or not </td></tr>
    <tr><td class="paramname">identifier</td><td>the identifier to match </td></tr>
    <tr><td class="paramname">matchConnectionID</td><td>true to match the connection ID, false to match the other ID </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>false if there is no data for this name </dd></dl>

<p>References <a class="el" href="classArServerBase.html#a1951a33ebf82fd31a0c79d50d622215d">broadcastPacketUdpByCommandWithExclusion()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerBase.html#a67d80e1a21fb9d92368d11cc49d6afae">myDataMap</a>, <a class="el" href="classArServerBase.html#ac2247e67f623910f5d43181bbf7090b4">myDataMutex</a>, <a class="el" href="classArServerBase.html#a534bb41c6853fd50aaaf3bbd7aff539b">myVerboseLogLevel</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArServerBase.html#ad1bb0c25a5dc4f2b99907a4f98e749da">broadcastPacketUdp()</a>, and <a class="el" href="classArServerBase.html#a645dbba718d2278f8cd601fdf96fdcff">broadcastPacketUdpToMatching()</a>.</p>

</div>
</div>
<a class="anchor" id="a72a4cff6dcdd01018f7c8c1f8361382c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerBase::close </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Closes the server. </p>
<p>MPL adding this since it looks like its leaked </p>

<p>References <a class="el" href="changeMapOnServer_8cpp.html#afe594bfb305907ae82f259409cc214cb">client</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html#a89ab9a4e404526343ccf6ba3b6644c58">ArSocket::close()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArUtil.html#a2d327400c6ebecc3b6f1c2ce35df1c74">ArUtil::deleteSetPairs()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerBase.html#ab9632551d8be729e00471415032c7994">myClients</a>, <a class="el" href="classArServerBase.html#a83b6a5e1e8195fc20ffcd7827a975df5">myClientsMutex</a>, <a class="el" href="classArServerBase.html#a67d80e1a21fb9d92368d11cc49d6afae">myDataMap</a>, <a class="el" href="classArServerBase.html#ac2247e67f623910f5d43181bbf7090b4">myDataMutex</a>, <a class="el" href="classArServerBase.html#a4ad3f93a32ffd325722cbb9e5ec3ca74">myLogPrefix</a>, <a class="el" href="classArServerBase.html#a5f9e411bead858e98ec083cc1623ca87">myOpened</a>, <a class="el" href="classArServerBase.html#a81026f3d5481b6e6cf74e3d7632ecb51">myTcpOnly</a>, <a class="el" href="classArServerBase.html#a02816b3969fe21b6e90b14f1da0fc69e">myTcpSocket</a>, <a class="el" href="classArServerBase.html#a8c90e25a8e7148058d0598f3a6b1c0aa">myUdpSocket</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, <a class="el" href="classArServerClient.html#ab9d0d22f9b160b1411a709c4502a1cee">ArServerClient::shutdown()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#ga4dfb878a3f9123b8dd96ae05b2fd94cb">ArUtil::sleep()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArServerBase.html#a030cd022bba5ec1785cf40e50f3b7430">runThread()</a>, <a class="el" href="classArCentralForwarder.html#a485f9ceb0e8496dc89961700552958d6">ArCentralForwarder::~ArCentralForwarder()</a>, and <a class="el" href="classArServerBase.html#a9654db575351b18c10a08729d9fda1ce">~ArServerBase()</a>.</p>

</div>
</div>
<a class="anchor" id="a5c960c6286e517f0e94936555f35a90d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerBase::closeConnectionID </td>
          <td>(</td>
          <td class="paramtype"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArTypes.html#af596f738ccf86d1fa8a64af52ea2f061">ArTypes::UByte4</a>&#160;</td>
          <td class="paramname"><em>idNum</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Closes connection with a given connection ID. </p>

<p>References <a class="el" href="changeMapOnServer_8cpp.html#afe594bfb305907ae82f259409cc214cb">client</a>, <a class="el" href="classArServerClient.html#ab620f09c97793038989776b7314288c9">ArServerClient::forceDisconnect()</a>, <a class="el" href="classArServerClientIdentifier.html#a547cee529202fe508768f04f49559500">ArServerClientIdentifier::getConnectionID()</a>, <a class="el" href="classArServerClient.html#a24d2b2edb9c95aaf6a6e2a888f7143d0">ArServerClient::getIdentifier()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerBase.html#ab9632551d8be729e00471415032c7994">myClients</a>, <a class="el" href="classArServerBase.html#a83b6a5e1e8195fc20ffcd7827a975df5">myClientsMutex</a>, <a class="el" href="classArServerBase.html#a4ad3f93a32ffd325722cbb9e5ec3ca74">myLogPrefix</a>, <a class="el" href="classArServerBase.html#a0806db59a69a2432c51131b9ca917222">myRemoveSet</a>, <a class="el" href="classArServerBase.html#a132a7eee004a6a29db7b8add4151d69d">myRemoveSetMutex</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a6e80d09c67dad73e9ba736e91ec893be">ArLog::Verbose</a>.</p>

<p>Referenced by <a class="el" href="classArCentralManager.html#a96191b732dc4b5e25ed4591e251e63b5">ArCentralManager::mainServerClientRemovedCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="a487469dc2b7f5d13d16ca262387cd882"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerBase::dataHasFlag </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>dataFlag</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns if a command has a data flag. </p>

<p>References <a class="el" href="classArServerBase.html#a3d2745c62afa1f8018081899ab038e25">dataHasFlagByCommand()</a>, <a class="el" href="classArServerBase.html#a13cb8349b522b278647f94573767021c">findCommandFromName()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a6e80d09c67dad73e9ba736e91ec893be">ArLog::Verbose</a>.</p>

<p>Referenced by <a class="el" href="classArCentralForwarder.html#a0a196d9a267e16cb7a8a56b0b7269492">ArCentralForwarder::gatheringCallOnce()</a>.</p>

</div>
</div>
<a class="anchor" id="a3d2745c62afa1f8018081899ab038e25"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerBase::dataHasFlagByCommand </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>command</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>dataFlag</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns if a command has a data flag by command number. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="el" href="classArServerBase.html#a67d80e1a21fb9d92368d11cc49d6afae">myDataMap</a>, <a class="el" href="classArServerBase.html#ac2247e67f623910f5d43181bbf7090b4">myDataMutex</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArServerBase.html#a487469dc2b7f5d13d16ca262387cd882">dataHasFlag()</a>.</p>

</div>
</div>
<a class="anchor" id="a0bfde76563e86f09236bc31809efd3e5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerBase::enforceProtocolVersion </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>protocolVersion</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Enforces that the server is using this protocol version. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerBase.html#ac2247e67f623910f5d43181bbf7090b4">myDataMutex</a>, <a class="el" href="classArServerBase.html#a3fb547448e07db516b6233f70ac24c89">myEnforceProtocolVersion</a>, <a class="el" href="classArServerBase.html#a4ad3f93a32ffd325722cbb9e5ec3ca74">myLogPrefix</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArServerClient.html#aeb58f2cfcc533a91bb89e4e6cff36975">ArServerClient::ArServerClient()</a>.</p>

</div>
</div>
<a class="anchor" id="af9b9e4b5dd3929151373665efd7ff167"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerBase::enforceType </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArServerCommands.html#a17e8a1248f23b0f1dde4606af34b0efd">ArServerCommands::Type</a>&#160;</td>
          <td class="paramname"><em>type</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Enforces that the robots that connect are this type. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerBase.html#ac2247e67f623910f5d43181bbf7090b4">myDataMutex</a>, <a class="el" href="classArServerBase.html#ae1c8c47760e6a336d3dad8f248be30ec">myEnforceType</a>, <a class="el" href="classArServerBase.html#a4ad3f93a32ffd325722cbb9e5ec3ca74">myLogPrefix</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, <a class="el" href="classArServerCommands.html#af5713e054859cdb761f75e1113ea3ee2">ArServerCommands::toString()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArServerClient.html#aeb58f2cfcc533a91bb89e4e6cff36975">ArServerClient::ArServerClient()</a>.</p>

</div>
</div>
<a class="anchor" id="a13cb8349b522b278647f94573767021c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int ArServerBase::findCommandFromName </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets the number of a command. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>Name is the name of the command number to be found</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the number of the command or 0 if no command has that name </dd></dl>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerBase.html#a67d80e1a21fb9d92368d11cc49d6afae">myDataMap</a>, <a class="el" href="classArServerBase.html#ac2247e67f623910f5d43181bbf7090b4">myDataMutex</a>, <a class="el" href="classArServerBase.html#a534bb41c6853fd50aaaf3bbd7aff539b">myVerboseLogLevel</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArServerBase.html#a487469dc2b7f5d13d16ca262387cd882">dataHasFlag()</a>, <a class="el" href="classArServerHandlerPopup.html#a8dc61188d6f5378794c6af5934d8958c">ArServerHandlerPopup::netPopupList()</a>, <a class="el" href="classArServerHandlerConfig.html#a29d0673df3fd77a2baea7babc16d6e84">ArServerHandlerConfig::setConfig()</a>, <a class="el" href="classArServerHandlerConfig.html#a478346fdde3052b88c5518a87cf0ae41">ArServerHandlerConfig::setConfigBySections()</a>, <a class="el" href="classArServerHandlerConfig.html#ab901d539711e32a5c854255e87cb2dde">ArServerHandlerConfig::setConfigBySectionsV2()</a>, and <a class="el" href="classArServerHandlerConfig.html#a9be3c815ea8ca12b73e3c9f7e99198a7">ArServerHandlerConfig::setConfigParam()</a>.</p>

</div>
</div>
<a class="anchor" id="a467ff57fd9a36aaf019ec900d5a90eb2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArServerClient.html">ArServerClient</a> * ArServerBase::finishAcceptingSocket </td>
          <td>(</td>
          <td class="paramtype"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html">ArSocket</a> *&#160;</td>
          <td class="paramname"><em>socket</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>skipPassword</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>overrideGeneralReject</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Internal function for server/client switching. </p>

<p>References <a class="el" href="changeMapOnServer_8cpp.html#afe594bfb305907ae82f259409cc214cb">client</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html#aaa6688b1776c58956b5d77e5b4933ebf">ArSocket::getIPString()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArCallbackList1.html#af20685d52e0bc6517e857638e5fb82a4">ArCallbackList1&lt; P1 &gt;::invoke()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerBase.html#a036b4f4ad19d4d0856b3e65e620a831c">myAddList</a>, <a class="el" href="classArServerBase.html#a28ef22ab3231d448b1a05175bc6f16b9">myAddListMutex</a>, <a class="el" href="classArServerBase.html#aeebe1324aa773f9c03ef5a102086d92d">myAllowIdlePackets</a>, <a class="el" href="classArServerBase.html#a23b4e214a05d368635e5f28e5adc5d45">myAllowSlowPackets</a>, <a class="el" href="classArServerBase.html#ab9632551d8be729e00471415032c7994">myClients</a>, <a class="el" href="classArServerBase.html#a83b6a5e1e8195fc20ffcd7827a975df5">myClientsMutex</a>, <a class="el" href="classArServerBase.html#a67d80e1a21fb9d92368d11cc49d6afae">myDataMap</a>, <a class="el" href="classArServerBase.html#a041efc205d20443b1aebebba41d82c5b">myDebugLogging</a>, <a class="el" href="classArServerBase.html#a3fb547448e07db516b6233f70ac24c89">myEnforceProtocolVersion</a>, <a class="el" href="classArServerBase.html#ae1c8c47760e6a336d3dad8f248be30ec">myEnforceType</a>, <a class="el" href="classArServerBase.html#ab6d7ad593cea13fa555b899e21f791cb">myLogPasswordFailureVerbosely</a>, <a class="el" href="classArServerBase.html#a4ad3f93a32ffd325722cbb9e5ec3ca74">myLogPrefix</a>, <a class="el" href="classArServerBase.html#a3274c6dce2fe57bdf248a285aad7ae20">myMaxClientsAllowed</a>, <a class="el" href="classArServerBase.html#a18170d67add932519ea770539f348447">myNumClients</a>, <a class="el" href="classArServerBase.html#a0dfc54197bac69f72eb624011a43db57">myRejecting</a>, <a class="el" href="classArServerBase.html#aada417ac984bdbc5c85cf8cab437c3e0">myRejectingString</a>, <a class="el" href="classArServerBase.html#a52518b0de02d87df66a85f1656293ddc">mySendUdpCB</a>, <a class="el" href="classArServerBase.html#a4431d2cc2bb30a7bad7917b69e2655f1">myServerKey</a>, <a class="el" href="classArServerBase.html#a5ae5da090806634815d6fae6d1cf3f99">myServerName</a>, <a class="el" href="classArServerBase.html#a0d52a28c6ba5c6a87b46a84de0fec050">myTooManyClientsCBList</a>, <a class="el" href="classArServerBase.html#a4db94b5e00ee733fbcae8f1d065d79fc">myUdpPort</a>, <a class="el" href="classArServerBase.html#a28dda2d862dfe56a22591d1602c89c31">myUserInfo</a>, <a class="el" href="classArServerBase.html#a534bb41c6853fd50aaaf3bbd7aff539b">myVerboseLogLevel</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMath.html#aa6e0fe8a0dc83eab361e795105f44909">ArMath::random()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArServerBase.html#af1d003d3aca3e9697d913a450cc8a35c">acceptTcpSockets()</a>, <a class="el" href="classArServerBase.html#aa396c2b48cf70071c88a52771b8adda9">makeNewServerClientFromSocket()</a>, and <a class="el" href="classArServerBase.html#a3403e9c34e6d6fe82e2397471caf95b8">remTooManyClientsCB()</a>.</p>

</div>
</div>
<a class="anchor" id="a52220fd0886d836402577107809ad51f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerBase::getDebugLogging </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets if this is using debug logging. </p>

<p>References <a class="el" href="classArServerBase.html#a041efc205d20443b1aebebba41d82c5b">myDebugLogging</a>.</p>

</div>
</div>
<a class="anchor" id="a6d20aeb6f381406d73cf839201440be8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long ArServerBase::getFrequency </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>command</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>internalCall</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets the frequncy a command is requested (mostly internal) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">command</td><td>the command number, you can use findCommandFromName</td></tr>
    <tr><td class="paramname">internalCall</td><td>whether its an internal call or not (whether to lock or not)</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>returns lowest amount of time requested for this packet, note that 0 and higher means thats how often it was asked for, -1 means nothing requested the data at an interval but wants it when its been pushed, and -2 means that nothing wants the data </dd></dl>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="el" href="classArServerBase.html#ab9632551d8be729e00471415032c7994">myClients</a>, <a class="el" href="classArServerBase.html#a83b6a5e1e8195fc20ffcd7827a975df5">myClientsMutex</a>, <a class="el" href="classArServerBase.html#a0b7ecaa33750688fe5e2d854b78f7d16">myDefaultFrequency</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

</div>
</div>
<a class="anchor" id="a206a8be118bc3ca5fe51ddfd138a37c5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ArServerBase::getMostClients </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets the most clients we've had connected. </p>

<p>References <a class="el" href="classArServerBase.html#a5e7e4d64f097d21d5901f91fdc3de5b3">myMostClients</a>.</p>

</div>
</div>
<a class="anchor" id="a555102cca19c7d085affbdf86221422c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ArServerBase::getNumClients </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets the number of clients connected. </p>

<p>References <a class="el" href="classArServerBase.html#a18170d67add932519ea770539f348447">myNumClients</a>.</p>

<p>Referenced by <a class="el" href="classArCentralManager.html#ae619bd2d28e8f95e782876609b8c65e1">ArCentralManager::logConnections()</a>, and <a class="el" href="classArCentralManager.html#a2365aa28aa0c04d2c4b567ab9baa0054">ArCentralManager::runThread()</a>.</p>

</div>
</div>
<a class="anchor" id="a901ba41d3054ff06210bb65fc6453cc9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char * ArServerBase::getOpenOnIP </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets the IP we're opening on (or NULL if there's none) </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="serverDemo_8cpp-example.html#a77">serverDemo.cpp</a>.</dd>
</dl>
<p>References <a class="el" href="classArServerBase.html#a9cb608ba1bd7a7da14bef63a2ab27106">myOpenOnIP</a>.</p>

<p>Referenced by <a class="el" href="classArCentralForwarder.html#a0a196d9a267e16cb7a8a56b0b7269492">ArCentralForwarder::gatheringCallOnce()</a>, <a class="el" href="serverDemo_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">main()</a>, and <a class="el" href="classArClientSwitchManager.html#ab4191278fb27c623970544a6076e1633">ArClientSwitchManager::runThread()</a>.</p>

</div>
</div>
<a class="anchor" id="a45a217e7e142d13a1c4f5a8ac85400ec"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int ArServerBase::getRequestTransactionCount </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the number of request transactions in progress for all connected clients. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classArServerBase.html#a9a7f71297a106efc86cc0ead79e98e9d" title="Handles the &quot;startRequestTransaction&quot; packet, and updates the state of the client. ">handleStartRequestTransaction</a> </dd></dl>

<p>References <a class="el" href="changeMapOnServer_8cpp.html#afe594bfb305907ae82f259409cc214cb">client</a>, <a class="el" href="classArServerClient.html#a7a7ed65d0d598c4fb07b00a09ec6061c">ArServerClient::getRequestTransactionCount()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="el" href="classArServerBase.html#ab9632551d8be729e00471415032c7994">myClients</a>, <a class="el" href="classArServerBase.html#a83b6a5e1e8195fc20ffcd7827a975df5">myClientsMutex</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArServerBase.html#a3403e9c34e6d6fe82e2397471caf95b8">remTooManyClientsCB()</a>, and <a class="el" href="classArServerBase.html#a439548c2e4aafea8e86d39af86a21b45">slowIdleCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="ad2baa7f9e5d3d62361084f458c9e1c0b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int ArServerBase::getTcpPort </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets the tcp port we're using. </p>

<p>References <a class="el" href="classArServerBase.html#a80134d6000d350b981848f360bdac786">myTcpPort</a>.</p>

<p>Referenced by <a class="el" href="classArCentralManager.html#a2365aa28aa0c04d2c4b567ab9baa0054">ArCentralManager::runThread()</a>.</p>

</div>
</div>
<a class="anchor" id="a554da8cc36f349f4b452d1c551de5d78"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int ArServerBase::getUdpPort </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets the udp port we're using. </p>

<p>References <a class="el" href="classArServerBase.html#a4db94b5e00ee733fbcae8f1d065d79fc">myUdpPort</a>.</p>

</div>
</div>
<a class="anchor" id="ab3729141deeb6dfd667eff708c32aee6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classArServerUserInfo.html">ArServerUserInfo</a> * ArServerBase::getUserInfo </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets the user info we're using (mostly internal for switching) </p>

<p>References <a class="el" href="classArServerBase.html#a28dda2d862dfe56a22591d1602c89c31">myUserInfo</a>.</p>

<p>Referenced by <a class="el" href="classArCentralForwarder.html#a0a196d9a267e16cb7a8a56b0b7269492">ArCentralForwarder::gatheringCallOnce()</a>.</p>

</div>
</div>
<a class="anchor" id="ab940c32af3c5c1231f3eca164544d818"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerBase::handleEndRequestTransaction </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArServerClient.html">ArServerClient</a> *&#160;</td>
          <td class="paramname"><em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Handles the "endRequestTransaction" packet, and updates the state of the client. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">client</td><td>the ArServerClient* that sent the request; updated to indicate that a transaction has completed </td></tr>
    <tr><td class="paramname">packet</td><td>the ArNetPacket* that contains the request (no additional data) </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classArServerBase.html#a9a7f71297a106efc86cc0ead79e98e9d" title="Handles the &quot;startRequestTransaction&quot; packet, and updates the state of the client. ">handleStartRequestTransaction</a> </dd></dl>

<p>References <a class="el" href="classArServerClient.html#a7c6b991a2c2f896c5d4eb8d227ee448e">ArServerClient::endRequestTransaction()</a>, <a class="el" href="classArServerClient.html#a8da91f3122966f4b1ce824fffb3e4ace">ArServerClient::getIPString()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a6e80d09c67dad73e9ba736e91ec893be">ArLog::Verbose</a>.</p>

<p>Referenced by <a class="el" href="classArServerBase.html#a3403e9c34e6d6fe82e2397471caf95b8">remTooManyClientsCB()</a>.</p>

</div>
</div>
<a class="anchor" id="a9a7f71297a106efc86cc0ead79e98e9d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerBase::handleStartRequestTransaction </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArServerClient.html">ArServerClient</a> *&#160;</td>
          <td class="paramname"><em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Handles the "startRequestTransaction" packet, and updates the state of the client. </p>
<p>"Request transactions" are used to indicate that a sequence of request / reply packets must be completed before idle processing can proceed. Any "startRequestTransaction" MUST be followed by an "endRequestTransaction".</p>
<p>The packets are meant to be used sparingly. They are currently only used when the Central Server is determining whether the map file needs to be downloaded to the client robot.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">client</td><td>the ArServerClient* that sent the request; updated to indicate a new transaction is in progress </td></tr>
    <tr><td class="paramname">packet</td><td>the ArNetPacket* that contains the request (no additional data) </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="classArServerClient.html#a8da91f3122966f4b1ce824fffb3e4ace">ArServerClient::getIPString()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerClient.html#a48225ae118abf839ed54146e02b76b2b">ArServerClient::startRequestTransaction()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a6e80d09c67dad73e9ba736e91ec893be">ArLog::Verbose</a>.</p>

<p>Referenced by <a class="el" href="classArServerBase.html#a3403e9c34e6d6fe82e2397471caf95b8">remTooManyClientsCB()</a>.</p>

</div>
</div>
<a class="anchor" id="a6d797eebecb133853e22579a5b1544f4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerBase::hasIdleCallbacks </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Internal, Sees if we have any idle callbacks we are waiting to process. </p>

<p>References <a class="el" href="classArServerBase.html#adc7e004366ae82a0d981e05ba115a8dc">myHaveIdleCallbacks</a>.</p>

</div>
</div>
<a class="anchor" id="a71e682291c58a4b4533a66af40c040cb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerBase::hasIdlePackets </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Internal, Sees if we have any idle packets we are waiting to process. </p>

<p>References <a class="el" href="classArServerBase.html#a41e39d292529dabdf535f59dc4f3e674">myHaveIdlePackets</a>.</p>

</div>
</div>
<a class="anchor" id="abc101ab867ef90bf859625b338d9978e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerBase::hasSlowPackets </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Internal, Sees if we have any slow packets we are waiting to process. </p>

<p>References <a class="el" href="classArServerBase.html#ad4d2dccce7ae0ee98e07925cae0dd323">myHaveSlowPackets</a>.</p>

</div>
</div>
<a class="anchor" id="aa5914c55172f1b18bb60e8e8d3b513bd"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerBase::identGetConnectionID </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArServerClient.html">ArServerClient</a> *&#160;</td>
          <td class="paramname"><em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>The command get the ConnectionID of this server client connection. </p>

<p>References <a class="el" href="classArServerClientIdentifier.html#a547cee529202fe508768f04f49559500">ArServerClientIdentifier::getConnectionID()</a>, <a class="el" href="classArServerClient.html#a24d2b2edb9c95aaf6a6e2a888f7143d0">ArServerClient::getIdentifier()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerBase.html#ab9632551d8be729e00471415032c7994">myClients</a>, <a class="el" href="classArServerBase.html#acaabe1912b811a4e9fcf3109a99d58a9">myConnectionNumber</a>, <a class="el" href="classArServerClient.html#a3f898b500f25869bdc5098c7d9a94f93">ArServerClient::sendPacketTcp()</a>, <a class="el" href="classArServerClientIdentifier.html#a4a6950f2c40d5583e56ac729100aec95">ArServerClientIdentifier::setConnectionID()</a>, <a class="el" href="classArServerClient.html#a2db983b7a0d4f3bf1ed7f3152a753c1d">ArServerClient::setIdentifier()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a012daf6573594f91242f8dd7c02eb74b">ArLog::Terse</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#abeb94fdd3729b05abb4574903887876c">ArBasePacket::uByte4ToBuf()</a>.</p>

<p>Referenced by <a class="el" href="classArServerBase.html#a3403e9c34e6d6fe82e2397471caf95b8">remTooManyClientsCB()</a>.</p>

</div>
</div>
<a class="anchor" id="a06f98f897980dec7e4d3aa059ba262a4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerBase::identSetConnectionID </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArServerClient.html">ArServerClient</a> *&#160;</td>
          <td class="paramname"><em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>The command set the ConnectionID of this server client connection. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a18d3e098635ec49ee8b7b43dc5c65c77">ArBasePacket::bufToUByte4()</a>, <a class="el" href="classArServerClient.html#a24d2b2edb9c95aaf6a6e2a888f7143d0">ArServerClient::getIdentifier()</a>, <a class="el" href="classArServerClientIdentifier.html#a4a6950f2c40d5583e56ac729100aec95">ArServerClientIdentifier::setConnectionID()</a>, and <a class="el" href="classArServerClient.html#a2db983b7a0d4f3bf1ed7f3152a753c1d">ArServerClient::setIdentifier()</a>.</p>

<p>Referenced by <a class="el" href="classArServerBase.html#a3403e9c34e6d6fe82e2397471caf95b8">remTooManyClientsCB()</a>.</p>

</div>
</div>
<a class="anchor" id="a5e8bce0e87b8dca196500c2380a57fdc"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerBase::identSetHereGoal </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArServerClient.html">ArServerClient</a> *&#160;</td>
          <td class="paramname"><em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>The command set the here goal of this server client connection. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a8f1536daa451024715fe82cec495e826">ArBasePacket::bufToStr()</a>, <a class="el" href="classArServerClient.html#a24d2b2edb9c95aaf6a6e2a888f7143d0">ArServerClient::getIdentifier()</a>, <a class="el" href="classArServerClientIdentifier.html#a3c89948e9a7039ff6520c0ea31338c77">ArServerClientIdentifier::setHereGoal()</a>, and <a class="el" href="classArServerClient.html#a2db983b7a0d4f3bf1ed7f3152a753c1d">ArServerClient::setIdentifier()</a>.</p>

<p>Referenced by <a class="el" href="classArServerBase.html#a3403e9c34e6d6fe82e2397471caf95b8">remTooManyClientsCB()</a>.</p>

</div>
</div>
<a class="anchor" id="a514fba523004e8019714da166add2e6f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerBase::identSetSelfIdentifier </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArServerClient.html">ArServerClient</a> *&#160;</td>
          <td class="paramname"><em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>The command set the self identifier of this server client connection. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a8f1536daa451024715fe82cec495e826">ArBasePacket::bufToStr()</a>, <a class="el" href="classArServerClient.html#a24d2b2edb9c95aaf6a6e2a888f7143d0">ArServerClient::getIdentifier()</a>, <a class="el" href="classArServerClient.html#a2db983b7a0d4f3bf1ed7f3152a753c1d">ArServerClient::setIdentifier()</a>, and <a class="el" href="classArServerClientIdentifier.html#a6ebf449e7d4fb839c812f749fc923f45">ArServerClientIdentifier::setSelfIdentifier()</a>.</p>

<p>Referenced by <a class="el" href="classArServerBase.html#a3403e9c34e6d6fe82e2397471caf95b8">remTooManyClientsCB()</a>.</p>

</div>
</div>
<a class="anchor" id="a7d9a02741090f79facba801f4aed8856"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerBase::idleProcessingPending </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sees if we have any idle processing pending (idle packets or callbacks) </p>

<p>References <a class="el" href="classArServerBase.html#adc7e004366ae82a0d981e05ba115a8dc">myHaveIdleCallbacks</a>, and <a class="el" href="classArServerBase.html#a41e39d292529dabdf535f59dc4f3e674">myHaveIdlePackets</a>.</p>

<p>Referenced by <a class="el" href="classArServerMode.html#af5a8feef05fb30934ccd3ca603356ed4">ArServerMode::baseActivate()</a>, <a class="el" href="classArServerBase.html#a16ec2fa72a62caa7fd9a0da9fef6e45d">loopOnce()</a>, <a class="el" href="classArServerBase.html#a5f8ff1bed56680f3108b02c26a76d96e">netIdleProcessingPending()</a>, and <a class="el" href="classArServerModeIdle.html#a8739492a9d7f6ad7068c7760726c3274">ArServerModeIdle::userTask()</a>.</p>

</div>
</div>
<a class="anchor" id="aa43bb720cd005e69475c67a7572eecf3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerBase::internalLockup </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Internal call to lockup the server (for testing) </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerBase.html#ac2247e67f623910f5d43181bbf7090b4">myDataMutex</a>, <a class="el" href="classArServerBase.html#a5ae5da090806634815d6fae6d1cf3f99">myServerName</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>.</p>

<p>Referenced by <a class="el" href="classArServerBase.html#a3403e9c34e6d6fe82e2397471caf95b8">remTooManyClientsCB()</a>.</p>

</div>
</div>
<a class="anchor" id="a278852754477a42e8edcca5075c42ae4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerBase::internalSetDefaultFrequency </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>command</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>frequency</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Internal call that sets the default frequency as a helper for forwarding (if it's faster than the current default) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">command</td><td>the command name as a string</td></tr>
    <tr><td class="paramname">frequency</td><td>the frequency to get the data, &gt; 0 == milliseconds, -1 == on broadcast, -2 == never... This function won't set the value to anything slower than has already been requested </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="classArServerData.html#aa6eafdc68804c31d0118f024267b9c15">ArServerData::callRequestChangedFunctor()</a>, <a class="el" href="clientStringInfoExample_8cpp.html#aa145b758b8385fd760f174780ccc5c69">data</a>, <a class="el" href="classArServerData.html#a40c6497b9c848194de53c87704a51aba">ArServerData::getCommand()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerBase.html#a83b6a5e1e8195fc20ffcd7827a975df5">myClientsMutex</a>, <a class="el" href="classArServerBase.html#a67d80e1a21fb9d92368d11cc49d6afae">myDataMap</a>, <a class="el" href="classArServerBase.html#ac2247e67f623910f5d43181bbf7090b4">myDataMutex</a>, <a class="el" href="classArServerBase.html#a0b7ecaa33750688fe5e2d854b78f7d16">myDefaultFrequency</a>, <a class="el" href="classArServerBase.html#a5ae5da090806634815d6fae6d1cf3f99">myServerName</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArServerBase.html#a3403e9c34e6d6fe82e2397471caf95b8">remTooManyClientsCB()</a>, and <a class="el" href="classArCentralForwarder.html#a24778104f1c849176c0a078530dd3661">ArCentralForwarder::request()</a>.</p>

</div>
</div>
<a class="anchor" id="ac001c03c92e62cd94949dbfd12a6cbc4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerBase::internalSetNumClients </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>numClients</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Internal, sets the maximum number of clients. </p>

<p>References <a class="el" href="classArServerBase.html#a18170d67add932519ea770539f348447">myNumClients</a>, and <a class="el" href="classArServerBase.html#ab377c9e75be9412af479f386121e8f4c">myUsingOwnNumClients</a>.</p>

<p>Referenced by <a class="el" href="classArCentralManager.html#a2365aa28aa0c04d2c4b567ab9baa0054">ArCentralManager::runThread()</a>.</p>

</div>
</div>
<a class="anchor" id="aef5119d875e72544bb13957f0b0b5bfc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerBase::loadUserInfo </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>fileName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>baseDirectory</em> = <code>&quot;&quot;</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Loads up a set of usernames/passwords/permissions from a file. </p>

<p>References <a class="el" href="classArServerUserInfo.html#a3d897e4ce5b7ccf23847d8255d8503fe">ArServerUserInfo::doNotUse()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerBase.html#ac2247e67f623910f5d43181bbf7090b4">myDataMutex</a>, <a class="el" href="classArServerBase.html#a4ad3f93a32ffd325722cbb9e5ec3ca74">myLogPrefix</a>, <a class="el" href="classArServerBase.html#a28dda2d862dfe56a22591d1602c89c31">myUserInfo</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, <a class="el" href="classArServerUserInfo.html#a44558263a89c9482c4da7deacb9c236e">ArServerUserInfo::readFile()</a>, <a class="el" href="classArServerUserInfo.html#ad62b576bf7e929d14a02d09ea4f440a6">ArServerUserInfo::setBaseDirectory()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a012daf6573594f91242f8dd7c02eb74b">ArLog::Terse</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArServerSimpleOpener.html#a6429c1069dee5edc19fb7dc94078bed0">ArServerSimpleOpener::open()</a>.</p>

</div>
</div>
<a class="anchor" id="a0e2f0ad76f564c13ec128cf0e540a89a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerBase::logCommandGroups </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Logs the groups and commands in those groups. </p>
<p>Logs the different groups of commands.</p>
<p>It logs the command names first along with the list of commands in that group. Then it outputs a list of groups. Useful for building the user/pass file. </p>

<p>References <a class="el" href="classArServerBase.html#a62db28d742d2f2dceaa10d0fdb9da299">logCommandGroupsToFile()</a>.</p>

<p>Referenced by <a class="el" href="classArServerSimpleOpener.html#ad05fedc301ab89072e61879999463d17">ArServerSimpleOpener::checkAndLog()</a>.</p>

</div>
</div>
<a class="anchor" id="a62db28d742d2f2dceaa10d0fdb9da299"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerBase::logCommandGroupsToFile </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>fileName</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Logs the groups and commands in those groups to a file. </p>
<p>For a description of what this outputs see logCommandGroups. </p>

<p>References <a class="el" href="configClientToServer_8cpp.html#adf16cd437526a5c5e0e0af87745acbb8">file</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArUtil.html#a0c4d240777628983e66005d7f7a4939c">ArUtil::fopen()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerBase.html#a67d80e1a21fb9d92368d11cc49d6afae">myDataMap</a>, <a class="el" href="classArServerBase.html#ac2247e67f623910f5d43181bbf7090b4">myDataMutex</a>, <a class="el" href="classArServerBase.html#abd2f38396d763cd486a1dd6727b15608">myGroupDescription</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArUtil.html#ab17364ae21df36b1d11942bc5d75b074">ArUtil::strcasecmp()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a012daf6573594f91242f8dd7c02eb74b">ArLog::Terse</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArServerBase.html#a0e2f0ad76f564c13ec128cf0e540a89a">logCommandGroups()</a>.</p>

</div>
</div>
<a class="anchor" id="ab41c873e1c445abbffd3eac467ec5410"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerBase::logConnections </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>prefix</em> = <code>&quot;&quot;</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Logs the connections. </p>

<p>References <a class="el" href="changeMapOnServer_8cpp.html#afe594bfb305907ae82f259409cc214cb">client</a>, <a class="el" href="classArServerClient.html#a8da91f3122966f4b1ce824fffb3e4ace">ArServerClient::getIPString()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerBase.html#ab9632551d8be729e00471415032c7994">myClients</a>, <a class="el" href="classArServerBase.html#a83b6a5e1e8195fc20ffcd7827a975df5">myClientsMutex</a>, <a class="el" href="classArServerBase.html#a5e7e4d64f097d21d5901f91fdc3de5b3">myMostClients</a>, <a class="el" href="classArServerBase.html#a5ae5da090806634815d6fae6d1cf3f99">myServerName</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArCentralManager.html#ae619bd2d28e8f95e782876609b8c65e1">ArCentralManager::logConnections()</a>, and <a class="el" href="classArServerSimpleServerCommands.html#a3038eec1dec7167b5102099e0d4df17f">ArServerSimpleServerCommands::logConnections()</a>.</p>

</div>
</div>
<a class="anchor" id="affd8469b34607f164b6c55c697adc012"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerBase::logGroupDescriptions </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Logs the command group names and descriptions. </p>

<p>References <a class="el" href="classArServerBase.html#adefd07cf5208b66fb8fab1d1b53ec7a9">logGroupDescriptionsToFile()</a>.</p>

</div>
</div>
<a class="anchor" id="adefd07cf5208b66fb8fab1d1b53ec7a9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerBase::logGroupDescriptionsToFile </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>fileName</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Logs the command group names and descriptions to a file. </p>

<p>References <a class="el" href="configClientToServer_8cpp.html#adf16cd437526a5c5e0e0af87745acbb8">file</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArUtil.html#a0c4d240777628983e66005d7f7a4939c">ArUtil::fopen()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerBase.html#ac2247e67f623910f5d43181bbf7090b4">myDataMutex</a>, <a class="el" href="classArServerBase.html#abd2f38396d763cd486a1dd6727b15608">myGroupDescription</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a012daf6573594f91242f8dd7c02eb74b">ArLog::Terse</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArServerBase.html#affd8469b34607f164b6c55c697adc012">logGroupDescriptions()</a>.</p>

</div>
</div>
<a class="anchor" id="afb2d9c6a8bad91e92862561f134c258b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerBase::logTracking </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>terse</em> = <code>true</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Logs the tracking on each client (how many packets and bytes were sent) </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html#adacaadc3f0a9368f74d28653a51aa64b">ArSocket::getBytesRecvd()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html#ad4caa942c5a621f7ae7d6f4e4e791734">ArSocket::getBytesSent()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html#a450f731d0774186d6029425f36e2867e">ArSocket::getRecvs()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html#a8bd089aedbebfd7492efabd66128b982">ArSocket::getSends()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerBase.html#ab9632551d8be729e00471415032c7994">myClients</a>, <a class="el" href="classArServerBase.html#a83b6a5e1e8195fc20ffcd7827a975df5">myClientsMutex</a>, <a class="el" href="classArServerBase.html#a8c90e25a8e7148058d0598f3a6b1c0aa">myUdpSocket</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a012daf6573594f91242f8dd7c02eb74b">ArLog::Terse</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArServerSimpleServerCommands.html#ad28e46621116f2142378a61bc9dba040">ArServerSimpleServerCommands::logTerseTracking()</a>, and <a class="el" href="classArServerSimpleServerCommands.html#a0b70b60335624a91491df019b84a849e">ArServerSimpleServerCommands::logVerboseTracking()</a>.</p>

</div>
</div>
<a class="anchor" id="ab9b40f639c195d97ed2948a1a0407988"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerBase::logUserInfo </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Logs the users and their groups. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerUserInfo.html#a4e5f29a70959a85a6f3c384baff8ce46">ArServerUserInfo::logUsers()</a>, <a class="el" href="classArServerBase.html#ac2247e67f623910f5d43181bbf7090b4">myDataMutex</a>, <a class="el" href="classArServerBase.html#a4ad3f93a32ffd325722cbb9e5ec3ca74">myLogPrefix</a>, <a class="el" href="classArServerBase.html#a28dda2d862dfe56a22591d1602c89c31">myUserInfo</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a012daf6573594f91242f8dd7c02eb74b">ArLog::Terse</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArServerSimpleOpener.html#ad05fedc301ab89072e61879999463d17">ArServerSimpleOpener::checkAndLog()</a>.</p>

</div>
</div>
<a class="anchor" id="a16ec2fa72a62caa7fd9a0da9fef6e45d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerBase::loopOnce </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Runs the server loop once. </p>
<p>This runs the server loop once, normally you'll probably just use <a class="el" href="classArServerBase.html#a8f09a4e5207191ee21e9be174fc1c452" title="Runs the server in this thread. ">run()</a> or <a class="el" href="classArServerBase.html#a93c742ddc58a8f035a0d1b9c1fae4599" title="Runs the server in its own thread. ">runAsync()</a>, but if you want to drive this server from within your own loop just call this repeatedly, but do note it takes up no time at all, so you'll want to put in your own millisecond sleep so it doesn't monopolize the CPU. </p>

<p>References <a class="el" href="classArServerBase.html#af1d003d3aca3e9697d913a450cc8a35c">acceptTcpSockets()</a>, <a class="el" href="classArServerBase.html#aaf43c74fa075d30ec57eb1ac4221084c">broadcastPacketTcp()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a9afdff469545e32649067ed0db391046">ArBasePacket::byteToBuf()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArTimeChecker.html#aecd3787916f852d93cd81bd8d0531b17">ArTimeChecker::check()</a>, <a class="el" href="changeMapOnServer_8cpp.html#afe594bfb305907ae82f259409cc214cb">client</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArTimeChecker.html#ac9f530bd0ca66f01177cdda40d78674b">ArTimeChecker::finish()</a>, <a class="el" href="classArServerClient.html#ab620f09c97793038989776b7314288c9">ArServerClient::forceDisconnect()</a>, <a class="el" href="classArServerClient.html#a46513d8d5d7bc8e2031af88a056b22de">ArServerClient::handleRequests()</a>, <a class="el" href="classArServerClient.html#a08e55879003201391f6f65776babd31c">ArServerClient::hasIdlePackets()</a>, <a class="el" href="classArServerClient.html#a4d03e4c0cfe7d8696a037fc6311704cd">ArServerClient::hasSlowPackets()</a>, <a class="el" href="classArServerBase.html#a7d9a02741090f79facba801f4aed8856">idleProcessingPending()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="el" href="classArServerBase.html#a036b4f4ad19d4d0856b3e65e620a831c">myAddList</a>, <a class="el" href="classArServerBase.html#a28ef22ab3231d448b1a05175bc6f16b9">myAddListMutex</a>, <a class="el" href="classArServerBase.html#ad13e61cb8469c43056d2110877872495">myBackupTimeout</a>, <a class="el" href="classArServerBase.html#ad57d1d57e63b3d84c287a604cb45138f">myBackupTimeoutMutex</a>, <a class="el" href="classArServerBase.html#aced44d6a2ba979c00a3970c1ef26c1f5">myClientRemovedCallbacks</a>, <a class="el" href="classArServerBase.html#ab9632551d8be729e00471415032c7994">myClients</a>, <a class="el" href="classArServerBase.html#a83b6a5e1e8195fc20ffcd7827a975df5">myClientsMutex</a>, <a class="el" href="classArServerBase.html#a9de4ddb61dfcede3cfd4f7c3e7b53fba">myCycleCallbacks</a>, <a class="el" href="classArServerBase.html#ad11655dc98f2e5b6c342459c9222c273">myCycleCallbacksMutex</a>, <a class="el" href="classArServerBase.html#ac2247e67f623910f5d43181bbf7090b4">myDataMutex</a>, <a class="el" href="classArServerBase.html#a41e39d292529dabdf535f59dc4f3e674">myHaveIdlePackets</a>, <a class="el" href="classArServerBase.html#ad4d2dccce7ae0ee98e07925cae0dd323">myHaveSlowPackets</a>, <a class="el" href="classArServerBase.html#a7d8846d8c7d966588301f8083bfe229a">myLastIdleProcessingPending</a>, <a class="el" href="classArServerBase.html#a5e7e4d64f097d21d5901f91fdc3de5b3">myMostClients</a>, <a class="el" href="classArServerBase.html#a704317ff8caeb7bdf892b7e13d1ca2cc">myNewBackupTimeout</a>, <a class="el" href="classArServerBase.html#a18170d67add932519ea770539f348447">myNumClients</a>, <a class="el" href="classArServerBase.html#a5f9e411bead858e98ec083cc1623ca87">myOpened</a>, <a class="el" href="classArServerBase.html#a8d023b1f58396af8c0a28c00c234e7d3">myProcessingSlowIdleMutex</a>, <a class="el" href="classArServerBase.html#a0806db59a69a2432c51131b9ca917222">myRemoveSet</a>, <a class="el" href="classArServerBase.html#a132a7eee004a6a29db7b8add4151d69d">myRemoveSetMutex</a>, <a class="el" href="classArServerBase.html#a81026f3d5481b6e6cf74e3d7632ecb51">myTcpOnly</a>, <a class="el" href="classArServerBase.html#a908a450a8044c52a7da7441fd35a7dff">myTimeChecker</a>, <a class="el" href="classArServerBase.html#ab18c9fda663fc7c9114ce240068a0ee0">myUdpReceiver</a>, <a class="el" href="classArServerBase.html#ab377c9e75be9412af479f386121e8f4c">myUsingOwnNumClients</a>, <a class="el" href="classArNetPacketReceiverUdp.html#a33633a145d32b490f01c6fedf7a976b4">ArNetPacketReceiverUdp::readData()</a>, <a class="el" href="classArServerClient.html#ab440b833ee547250a4c3a9eb254428e0">ArServerClient::setBackupTimeout()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArTimeChecker.html#aa87014e0a67407178f6f4aed3723177a">ArTimeChecker::start()</a>, <a class="el" href="classArServerClient.html#a8f87f3b1826c19e71af860c992405937">ArServerClient::tcpCallback()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a76ff7a4aa451cc9c2b08dda0ae77d823">ArMutex::tryLock()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArCentralForwarder.html#aa458c0d4f84d67c31a35ee36abfe3cea">ArCentralForwarder::connectedCallOnce()</a>, <a class="el" href="classArServerBase.html#a030cd022bba5ec1785cf40e50f3b7430">runThread()</a>, and <a class="el" href="classArServerBase.html#a18394abe320270495f109e7c0f87df87">sleepAfterSend()</a>.</p>

</div>
</div>
<a class="anchor" id="aa396c2b48cf70071c88a52771b8adda9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArServerClient.html">ArServerClient</a> * ArServerBase::makeNewServerClientFromSocket </td>
          <td>(</td>
          <td class="paramtype"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html">ArSocket</a> *&#160;</td>
          <td class="paramname"><em>socket</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>overrideGeneralReject</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Makes a new serverclient from this socket (for switching, needs no password since this was an outgoing connection to a trusted server) </p>

<p>References <a class="el" href="classArServerBase.html#a467ff57fd9a36aaf019ec900d5a90eb2">finishAcceptingSocket()</a>.</p>

<p>Referenced by <a class="el" href="classArClientSwitchManager.html#aeaabc93d0e6c64f701c004e57f7612b9">ArClientSwitchManager::clientSwitch()</a>.</p>

</div>
</div>
<a class="anchor" id="a5f8ff1bed56680f3108b02c26a76d96e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerBase::netIdleProcessingPending </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArServerClient.html">ArServerClient</a> *&#160;</td>
          <td class="paramname"><em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>callback for our slow idle thread, which is down below... </p>
<p>The command that returns if there is idle processing to do </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a9afdff469545e32649067ed0db391046">ArBasePacket::byteToBuf()</a>, <a class="el" href="classArServerBase.html#a7d9a02741090f79facba801f4aed8856">idleProcessingPending()</a>, and <a class="el" href="classArServerClient.html#a3f898b500f25869bdc5098c7d9a94f93">ArServerClient::sendPacketTcp()</a>.</p>

<p>Referenced by <a class="el" href="classArServerBase.html#a3403e9c34e6d6fe82e2397471caf95b8">remTooManyClientsCB()</a>.</p>

</div>
</div>
<a class="anchor" id="a462af995dd55756db23209e03ed9c3a8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerBase::open </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>port</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>openOnIP</em> = <code>NULL</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>tcpOnly</em> = <code>false</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Opens the server to accept new client connections. </p>
<p>This opens the server up on the given port, you will then need to run the server for it to actually listen and respond to client connections.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">port</td><td>the port to open the server on </td></tr>
    <tr><td class="paramname">openOnIP</td><td>If not null, only listen on the local network interface with this address </td></tr>
    <tr><td class="paramname">tcpOnly</td><td>If true, only accept TCP connections. If false, use both TCP and UDP communications with clients.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if the server could open the port, false otherwise </dd></dl>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html#a89ab9a4e404526343ccf6ba3b6644c58">ArSocket::close()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html#a65d4a673234731800cb0f0fd399f2e2a">ArSocket::create()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html#a275484e4c9c98f05e61d7427ac3dcac6">ArSocket::findValidPort()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html#a34005874b46b174cfff549bcd8f50958">ArSocket::inPort()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerBase.html#ac2247e67f623910f5d43181bbf7090b4">myDataMutex</a>, <a class="el" href="classArServerBase.html#a4ad3f93a32ffd325722cbb9e5ec3ca74">myLogPrefix</a>, <a class="el" href="classArServerBase.html#a5f9e411bead858e98ec083cc1623ca87">myOpened</a>, <a class="el" href="classArServerBase.html#a9cb608ba1bd7a7da14bef63a2ab27106">myOpenOnIP</a>, <a class="el" href="classArServerBase.html#a81026f3d5481b6e6cf74e3d7632ecb51">myTcpOnly</a>, <a class="el" href="classArServerBase.html#a80134d6000d350b981848f360bdac786">myTcpPort</a>, <a class="el" href="classArServerBase.html#a02816b3969fe21b6e90b14f1da0fc69e">myTcpSocket</a>, <a class="el" href="classArServerBase.html#a4db94b5e00ee733fbcae8f1d065d79fc">myUdpPort</a>, <a class="el" href="classArServerBase.html#ab18c9fda663fc7c9114ce240068a0ee0">myUdpReceiver</a>, <a class="el" href="classArServerBase.html#a8c90e25a8e7148058d0598f3a6b1c0aa">myUdpSocket</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html#afd267582a359ab24bdfd04ef12f211c9">ArSocket::netToHostOrder()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html#a7a9bd59b92bd1018c8be0af39eac2dc8">ArSocket::open()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html#a657700645f097c3b53c2f5bb8c97cb7e">ArSocket::setNonBlock()</a>, <a class="el" href="classArNetPacketReceiverUdp.html#a202be8f46bb9a7e04465a417aeefd941">ArNetPacketReceiverUdp::setSocket()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="configServer_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">main()</a>, and <a class="el" href="classArServerSimpleOpener.html#a6429c1069dee5edc19fb7dc94078bed0">ArServerSimpleOpener::open()</a>.</p>

</div>
</div>
<a class="anchor" id="a29ae4ea53e89fa21bd3f1c92845872aa"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerBase::processFile </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>References <a class="el" href="classArServerBase.html#ad13e61cb8469c43056d2110877872495">myBackupTimeout</a>, and <a class="el" href="classArServerBase.html#a0ccae95d99efbd843a2797c36cb3a2b1">setBackupTimeout()</a>.</p>

<p>Referenced by <a class="el" href="classArServerBase.html#a3403e9c34e6d6fe82e2397471caf95b8">remTooManyClientsCB()</a>.</p>

</div>
</div>
<a class="anchor" id="a015990d3bc3b8a0135385b27bbaab02e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerBase::processPacket </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct sockaddr_in *&#160;</td>
          <td class="paramname"><em>sin</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Processes udp packets. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a18d3e098635ec49ee8b7b43dc5c65c77">ArBasePacket::bufToUByte4()</a>, <a class="el" href="changeMapOnServer_8cpp.html#afe594bfb305907ae82f259409cc214cb">client</a>, <a class="el" href="classArNetPacket.html#af058f6edff90eef3961f9b21bc88e2ab">ArNetPacket::getCommand()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerBase.html#ab9632551d8be729e00471415032c7994">myClients</a>, <a class="el" href="classArServerBase.html#a83b6a5e1e8195fc20ffcd7827a975df5">myClientsMutex</a>, <a class="el" href="classArServerBase.html#a67d80e1a21fb9d92368d11cc49d6afae">myDataMap</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html#afd267582a359ab24bdfd04ef12f211c9">ArSocket::netToHostOrder()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, <a class="el" href="classArClientBase.html#a8f2e8920b136953c0deccb6e3fe3ee73">ArClientBase::processPacket()</a>, <a class="el" href="classArNetPacket.html#acae24ddf871f42502daf8405d56d36c3">ArNetPacket::resetRead()</a>, <a class="el" href="classArClientCommands.html#a00074f9d9e04007dc302b68f345da0adad734901cda4673894786109803a3d48c">ArClientCommands::UDP_INTRODUCTION</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

</div>
</div>
<a class="anchor" id="a93979037994f6023ae80bc6048bd5c59"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerBase::rejectSinceUsingCentralServer </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>centralServerIPString</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Tells the server to reject connectings because we're usinga central server. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="el" href="classArServerBase.html#ac2247e67f623910f5d43181bbf7090b4">myDataMutex</a>, <a class="el" href="classArServerBase.html#a0dfc54197bac69f72eb624011a43db57">myRejecting</a>, <a class="el" href="classArServerBase.html#aada417ac984bdbc5c85cf8cab437c3e0">myRejectingString</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

</div>
</div>
<a class="anchor" id="a4214ab04ef0995e3edaba811d04b7e1a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerBase::remClientRemovedCallback </td>
          <td>(</td>
          <td class="paramtype"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor1.html">ArFunctor1</a>&lt; <a class="el" href="classArServerClient.html">ArServerClient</a> * &gt; *&#160;</td>
          <td class="paramname"><em>functor</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Remove the callback invoked when a client has been removed. </p>
<p><b>Java Wrapper Library:</b> Use ArFunctor_ServerClient instead of ArFunctor1&lt;ArServerClient*&gt; for <em>functor</em>. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="el" href="classArServerBase.html#aced44d6a2ba979c00a3970c1ef26c1f5">myClientRemovedCallbacks</a>, <a class="el" href="classArServerBase.html#ac2247e67f623910f5d43181bbf7090b4">myDataMutex</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

</div>
</div>
<a class="anchor" id="a9a8f1105bdde4529d0bc19f3a18da7e1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerBase::remCycleCallback </td>
          <td>(</td>
          <td class="paramtype"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor.html">ArFunctor</a> *&#160;</td>
          <td class="paramname"><em>functor</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Remove a callback to be called at every cycle. </p>
<p>Cycle callbacks are called every cycle, in no particular order.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">functor</td><td>Functor to remove. If it's not currently in the cycle callback list, nothing is done. </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="el" href="classArServerBase.html#a9de4ddb61dfcede3cfd4f7c3e7b53fba">myCycleCallbacks</a>, <a class="el" href="classArServerBase.html#ad11655dc98f2e5b6c342459c9222c273">myCycleCallbacksMutex</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

</div>
</div>
<a class="anchor" id="a3403e9c34e6d6fe82e2397471caf95b8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerBase::remTooManyClientsCB </td>
          <td>(</td>
          <td class="paramtype"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor1.html">ArFunctor1</a>&lt; const char * &gt; *&#160;</td>
          <td class="paramname"><em>functor</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Removes a callback when we switch to running. </p>

<p>References <a class="el" href="classArServerBase.html#af1d003d3aca3e9697d913a450cc8a35c">acceptTcpSockets()</a>, <a class="el" href="changeMapOnServer_8cpp.html#afe594bfb305907ae82f259409cc214cb">client</a>, <a class="el" href="classArServerBase.html#a467ff57fd9a36aaf019ec900d5a90eb2">finishAcceptingSocket()</a>, <a class="el" href="classArServerBase.html#a45a217e7e142d13a1c4f5a8ac85400ec">getRequestTransactionCount()</a>, <a class="el" href="classArServerBase.html#ab940c32af3c5c1231f3eca164544d818">handleEndRequestTransaction()</a>, <a class="el" href="classArServerBase.html#a9a7f71297a106efc86cc0ead79e98e9d">handleStartRequestTransaction()</a>, <a class="el" href="classArServerBase.html#aa5914c55172f1b18bb60e8e8d3b513bd">identGetConnectionID()</a>, <a class="el" href="classArServerBase.html#a06f98f897980dec7e4d3aa059ba262a4">identSetConnectionID()</a>, <a class="el" href="classArServerBase.html#a5e8bce0e87b8dca196500c2380a57fdc">identSetHereGoal()</a>, <a class="el" href="classArServerBase.html#a514fba523004e8019714da166add2e6f">identSetSelfIdentifier()</a>, <a class="el" href="classArServerBase.html#aa43bb720cd005e69475c67a7572eecf3">internalLockup()</a>, <a class="el" href="classArServerBase.html#a278852754477a42e8edcca5075c42ae4">internalSetDefaultFrequency()</a>, <a class="el" href="classArServerBase.html#a0d52a28c6ba5c6a87b46a84de0fec050">myTooManyClientsCBList</a>, <a class="el" href="classArServerBase.html#a5f8ff1bed56680f3108b02c26a76d96e">netIdleProcessingPending()</a>, <a class="el" href="classArServerBase.html#a29ae4ea53e89fa21bd3f1c92845872aa">processFile()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArGenericCallbackList.html#adeaa9b5526e59e3f732a6585f70e5379">ArGenericCallbackList&lt; GenericFunctor &gt;::remCallback()</a>, and <a class="el" href="classArServerBase.html#a439548c2e4aafea8e86d39af86a21b45">slowIdleCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="a368dd898ec3b6a40135b64798131a899"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerBase::resetTracking </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Clears the tracking on all the clients (resets counters) </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="el" href="classArServerBase.html#ab9632551d8be729e00471415032c7994">myClients</a>, <a class="el" href="classArServerBase.html#a83b6a5e1e8195fc20ffcd7827a975df5">myClientsMutex</a>, <a class="el" href="classArServerBase.html#ac2247e67f623910f5d43181bbf7090b4">myDataMutex</a>, <a class="el" href="classArServerBase.html#a8c90e25a8e7148058d0598f3a6b1c0aa">myUdpSocket</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html#ae6623e8121740f86d339678bd374a64e">ArSocket::resetTracking()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArServerSimpleServerCommands.html#a8a9e147c5e9fcfb4cdf0db30514cbdfb">ArServerSimpleServerCommands::resetTracking()</a>.</p>

</div>
</div>
<a class="anchor" id="a8f09a4e5207191ee21e9be174fc1c452"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerBase::run </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Runs the server in this thread. </p>

<p>Reimplemented from <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArASyncTask.html#a9da8602419f2c52f001f130fe489b387">ArASyncTask</a>.</p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArASyncTask.html#ab1b9692583669e973fcb70fe843e556f">ArASyncTask::runInThisThread()</a>.</p>

<p>Referenced by <a class="el" href="configServer_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">main()</a>.</p>

</div>
</div>
<a class="anchor" id="a93c742ddc58a8f035a0d1b9c1fae4599"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerBase::runAsync </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Runs the server in its own thread. </p>

<p>Reimplemented from <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArASyncTask.html#a3d9b25fe57d5d4c4a7146827798dcbe0">ArASyncTask</a>.</p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="drawingsExample_8cpp-example.html#a36">drawingsExample.cpp</a>, <a class="el" href="drawingsExampleWithRobot_8cpp-example.html#a35">drawingsExampleWithRobot.cpp</a>, <a class="el" href="popupExample_8cpp-example.html#a35">popupExample.cpp</a>, <a class="el" href="serverDemo_8cpp-example.html#a69">serverDemo.cpp</a>, and <a class="el" href="simpleServerExample_8cpp-example.html#a15">simpleServerExample.cpp</a>.</dd>
</dl>
<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArASyncTask.html#a1219f8fc48adfc07ab59ea414585c479">ArASyncTask::create()</a>.</p>

<p>Referenced by <a class="el" href="drawingsExample_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">main()</a>, and <a class="el" href="classArServerBase_1_1SlowIdleThread.html#ae9e164dfdf752e6dc258c1d7c8eddfc9">ArServerBase::SlowIdleThread::SlowIdleThread()</a>.</p>

</div>
</div>
<a class="anchor" id="a030cd022bba5ec1785cf40e50f3b7430"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void * ArServerBase::runThread </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>arg</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Implements <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArASyncTask.html#a370bd38ad2a285af30cf722a9e3f4532">ArASyncTask</a>.</p>

<p>References <a class="el" href="classArServerBase.html#a72a4cff6dcdd01018f7c8c1f8361382c">close()</a>, <a class="el" href="classArServerBase.html#a16ec2fa72a62caa7fd9a0da9fef6e45d">loopOnce()</a>, <a class="el" href="classArServerBase.html#ab38dd65802dbe9b96b62be5333d13e16">myLoopMSecs</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#a38947d1e811cabefda057a5da123539a">ArThread::myRunning</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#ga4dfb878a3f9123b8dd96ae05b2fd94cb">ArUtil::sleep()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#a718af06ca33f467f714a46f059e2455b">ArThread::threadFinished()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#a2cec8be019396610a5ba10b6ffcd819e">ArThread::threadStarted()</a>.</p>

</div>
</div>
<a class="anchor" id="ad5b3e00acc395d2f778d3c48494b6044"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerBase::sendUdp </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArNetPacket.html">ArNetPacket</a> *&#160;</td>
          <td class="paramname"><em>packet</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct sockaddr_in *&#160;</td>
          <td class="paramname"><em>sin</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sends Udp packets. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#ab647b14794b49dc6e34cdb8b82275cfe">ArBasePacket::getBuf()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArBasePacket.html#a1ffc091d20ab361fe67a664b322976a3">ArBasePacket::getLength()</a>, <a class="el" href="classArServerBase.html#a8c90e25a8e7148058d0598f3a6b1c0aa">myUdpSocket</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html#aad4e9284aa39028d770a6fef0ebb62a3">ArSocket::sendTo()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#gaeb05754b7747988dd97a961eaded6830">sin()</a>.</p>

</div>
</div>
<a class="anchor" id="ab2df17b8de70944c7b363ec6e42656a2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerBase::setAdditionalDataFlags </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>additionalDataFlags</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets the data flags to add in addition to those passed in. </p>
<p>Additional data flags to be added to addData calls (these are added in with what is there).</p>
<p>You can do multiple flags by separating them with a | character. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="el" href="classArServerBase.html#a4ecd956503a00976c1a189c4d7aea858">myAdditionalDataFlags</a>, <a class="el" href="classArServerBase.html#ac2247e67f623910f5d43181bbf7090b4">myDataMutex</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

</div>
</div>
<a class="anchor" id="a0ccae95d99efbd843a2797c36cb3a2b1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerBase::setBackupTimeout </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>timeoutInMins</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets the backup timeout. </p>
<p>Sets up the backup timeout, if there are packets to send to clients and they haven't been sent for longer than this then the connection is closed.</p>
<p>Less than 0 means this won't happen. If this is positive but less than 5 seconds then 5 seconds is used. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="el" href="classArServerBase.html#ad13e61cb8469c43056d2110877872495">myBackupTimeout</a>, <a class="el" href="classArServerBase.html#ad57d1d57e63b3d84c287a604cb45138f">myBackupTimeoutMutex</a>, <a class="el" href="classArServerBase.html#a704317ff8caeb7bdf892b7e13d1ca2cc">myNewBackupTimeout</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArCentralForwarder.html#aa458c0d4f84d67c31a35ee36abfe3cea">ArCentralForwarder::connectedCallOnce()</a>, <a class="el" href="classArCentralManager.html#a5657d97b8b9a4bc8a7e91ccee70b216c">ArCentralManager::processFile()</a>, and <a class="el" href="classArServerBase.html#a29ae4ea53e89fa21bd3f1c92845872aa">processFile()</a>.</p>

</div>
</div>
<a class="anchor" id="a8dc38ba7bb66c20415ee4598005a2b46"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerBase::setDebugLogging </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>debugLogging</em> = <code>false</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets debug logging. </p>

<p>References <a class="el" href="classArServerBase.html#a041efc205d20443b1aebebba41d82c5b">myDebugLogging</a>, <a class="el" href="classArServerBase.html#a534bb41c6853fd50aaaf3bbd7aff539b">myVerboseLogLevel</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a6e80d09c67dad73e9ba736e91ec893be">ArLog::Verbose</a>.</p>

</div>
</div>
<a class="anchor" id="a2ec8b52fe5c22e307719a474d904b01c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerBase::setGroupDescription </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>cmdGrpName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>cmdGrpDesc</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Logs the command group names and command group descriptions for those names. </p>
<p>=========================================================================/// Function: setGroupDescription /// Created: 17-Nov-2005 /// Purpose: To permit the user to update the Command Group Descriptions.</p>
<p>/// Notes: /// /// Revision History: /// WHEN WHO WHAT and/or WHY /// 17-Nov-2005 NJ Created this function. /// /// =========================================================================/// </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="el" href="classArServerBase.html#ac2247e67f623910f5d43181bbf7090b4">myDataMutex</a>, <a class="el" href="classArServerBase.html#abd2f38396d763cd486a1dd6727b15608">myGroupDescription</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

</div>
</div>
<a class="anchor" id="a5588c63fcc5261c970459c3d4027e1a2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerBase::setServerKey </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>serverKey</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets a 'key' needed to access the server through any account. </p>
<p>Text string that is the key required when using user and password information...</p>
<p>this is NOT used if there is no user and password information. </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerBase.html#ac2247e67f623910f5d43181bbf7090b4">myDataMutex</a>, <a class="el" href="classArServerBase.html#a4431d2cc2bb30a7bad7917b69e2655f1">myServerKey</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

<p>Referenced by <a class="el" href="classArServerSimpleOpener.html#a6429c1069dee5edc19fb7dc94078bed0">ArServerSimpleOpener::open()</a>.</p>

</div>
</div>
<a class="anchor" id="a30dfa01a6faee922e1d4863aa6c16f98"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerBase::setUserInfo </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classArServerUserInfo.html">ArServerUserInfo</a> *&#160;</td>
          <td class="paramname"><em>userInfo</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets the user info we'll use (mostly internal for switching) </p>

<p>References <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="el" href="classArServerBase.html#ac2247e67f623910f5d43181bbf7090b4">myDataMutex</a>, <a class="el" href="classArServerBase.html#a28dda2d862dfe56a22591d1602c89c31">myUserInfo</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>.</p>

</div>
</div>
<a class="anchor" id="a18394abe320270495f109e7c0f87df87"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerBase::sleepAfterSend </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>msecDelay</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Delays the current thread by the specified msecs, for use after packet sent. </p>
<p>Call this method to delay the current thread after a packet has been sent.</p>
<p>This allows the packet to be transmitted before any subsequent action.</p>
<p>If the call is made in the main server thread, then loop once will be called until the specified time has passed. If the call is made in the idle thread, then <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#ga4dfb878a3f9123b8dd96ae05b2fd94cb">ArUtil::sleep</a> is used. (Note that if <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#ga4dfb878a3f9123b8dd96ae05b2fd94cb">ArUtil::sleep()</a> were called in the main thread, then the packet would not actually be transmitted until after the sleep exits.) </p>

<p>References <a class="el" href="ArServerBase_8cpp.html#a8f190bfcdf45dd402c71a98ab76b6fdd">IFDEBUG</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerBase.html#a16ec2fa72a62caa7fd9a0da9fef6e45d">loopOnce()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#gabfac503dbf12dac57c8dc133d0b034a1">ArTime::mSecSince()</a>, <a class="el" href="classArServerBase.html#a2228b9f45f9af3ffbc1ce4d2df7cd08d">mySlowIdleThread</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a7040faf60eeb155eaa85d439b1066ca1">ArLog::Normal</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArThread.html#a94f5c62be5ea634a63645b09d24618ea">ArThread::self()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#ga4dfb878a3f9123b8dd96ae05b2fd94cb">ArUtil::sleep()</a>.</p>

<p>Referenced by <a class="el" href="classArServerHandlerConfig.html#a78e9aa1b54822f07e20ce416806af50b">ArServerHandlerConfig::restartHardware()</a>, and <a class="el" href="classArServerHandlerConfig.html#ad9544c562453cafd2378cc250d657159">ArServerHandlerConfig::restartSoftware()</a>.</p>

</div>
</div>
<a class="anchor" id="a439548c2e4aafea8e86d39af86a21b45"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArServerBase::slowIdleCallback </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>References <a class="el" href="changeMapOnServer_8cpp.html#afe594bfb305907ae82f259409cc214cb">client</a>, <a class="el" href="classArServerClient.html#ab620f09c97793038989776b7314288c9">ArServerClient::forceDisconnect()</a>, <a class="el" href="classArServerMode.html#af7b38792e1c67ba86b86dbe23be05763">ArServerMode::getActiveModeActivityTimeSecSince()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor.html#a4c94bb50825f76071b71b316dd0bb710">ArFunctor::getName()</a>, <a class="el" href="classArServerBase.html#a45a217e7e142d13a1c4f5a8ac85400ec">getRequestTransactionCount()</a>, <a class="el" href="classArServerClient.html#ad8f53397ba47d8fae63a092f50e77150">ArServerClient::idlePacketCallback()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor.html#a1c87b5ef305e653fe13258ebe77faee3">ArFunctor::invoke()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#a7b6aee74872c19fb8829d96dc3e52f34">ArMutex::lock()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#a43a8b3789126c818f390f24bdbceccce">ArLog::log()</a>, <a class="el" href="classArServerBase.html#aeebe1324aa773f9c03ef5a102086d92d">myAllowIdlePackets</a>, <a class="el" href="classArServerBase.html#a23b4e214a05d368635e5f28e5adc5d45">myAllowSlowPackets</a>, <a class="el" href="classArServerBase.html#ab9632551d8be729e00471415032c7994">myClients</a>, <a class="el" href="classArServerBase.html#adc7e004366ae82a0d981e05ba115a8dc">myHaveIdleCallbacks</a>, <a class="el" href="classArServerBase.html#a500ccd4790811377f24342cd842f6aba">myIdleCallbacks</a>, <a class="el" href="classArServerBase.html#a420f29e1bde3af767d50b446d54dc774">myIdleCallbacksMutex</a>, <a class="el" href="classArServerBase.html#ab38dd65802dbe9b96b62be5333d13e16">myLoopMSecs</a>, <a class="el" href="classArServerBase.html#a5f9e411bead858e98ec083cc1623ca87">myOpened</a>, <a class="el" href="classArServerBase.html#a8d023b1f58396af8c0a28c00c234e7d3">myProcessingSlowIdleMutex</a>, <a class="el" href="classArServerBase.html#a0806db59a69a2432c51131b9ca917222">myRemoveSet</a>, <a class="el" href="classArServerBase.html#a132a7eee004a6a29db7b8add4151d69d">myRemoveSetMutex</a>, <a class="el" href="classArServerBase.html#a534bb41c6853fd50aaaf3bbd7aff539b">myVerboseLogLevel</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/group__easy.html#ga4dfb878a3f9123b8dd96ae05b2fd94cb">ArUtil::sleep()</a>, <a class="el" href="classArServerClient.html#a54b88b922cb831d40bdb6c7a8b3b465d">ArServerClient::slowPacketCallback()</a>, <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html#afb51b5514a9456f23441e479fe58fb46">ArMutex::unlock()</a>, and <a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a6e80d09c67dad73e9ba736e91ec893be">ArLog::Verbose</a>.</p>

<p>Referenced by <a class="el" href="classArServerBase.html#a3403e9c34e6d6fe82e2397471caf95b8">remTooManyClientsCB()</a>.</p>

</div>
</div>
<h2 class="groupheader">Friends And Related Function Documentation</h2>
<a class="anchor" id="aec1fd7d08349aee61f02a2bdaa7ebbaa"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">friend class <a class="el" href="classArServerBase_1_1SlowIdleThread.html">ArServerBase::SlowIdleThread</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="a76569dd9b2df010871ee1cf8951710f4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html">ArSocket</a> ArServerBase::myAcceptingSocket</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#af1d003d3aca3e9697d913a450cc8a35c">acceptTcpSockets()</a>.</p>

</div>
</div>
<a class="anchor" id="a4ecd956503a00976c1a189c4d7aea858"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string ArServerBase::myAdditionalDataFlags</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a6ab8869702eccf72ad8502b3017b9840">addDataAdvanced()</a>, and <a class="el" href="classArServerBase.html#ab2df17b8de70944c7b363ec6e42656a2">setAdditionalDataFlags()</a>.</p>

</div>
</div>
<a class="anchor" id="a036b4f4ad19d4d0856b3e65e620a831c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::list&lt;<a class="el" href="classArServerClient.html">ArServerClient</a> *&gt; ArServerBase::myAddList</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a467ff57fd9a36aaf019ec900d5a90eb2">finishAcceptingSocket()</a>, and <a class="el" href="classArServerBase.html#a16ec2fa72a62caa7fd9a0da9fef6e45d">loopOnce()</a>.</p>

</div>
</div>
<a class="anchor" id="a28ef22ab3231d448b1a05175bc6f16b9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html">ArMutex</a> ArServerBase::myAddListMutex</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a3b5424c9529d3abf77f94e22473a923d">ArServerBase()</a>, <a class="el" href="classArServerBase.html#a467ff57fd9a36aaf019ec900d5a90eb2">finishAcceptingSocket()</a>, and <a class="el" href="classArServerBase.html#a16ec2fa72a62caa7fd9a0da9fef6e45d">loopOnce()</a>.</p>

</div>
</div>
<a class="anchor" id="aeebe1324aa773f9c03ef5a102086d92d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerBase::myAllowIdlePackets</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#afa3b9a97e42df6d21c84facbf5885673">addIdleSingleShotCallback()</a>, <a class="el" href="classArServerBase.html#acc31eee87d89bb9fe77bd3540433b26c">allowingIdlePackets()</a>, <a class="el" href="classArServerBase.html#a3b5424c9529d3abf77f94e22473a923d">ArServerBase()</a>, <a class="el" href="classArServerBase.html#a467ff57fd9a36aaf019ec900d5a90eb2">finishAcceptingSocket()</a>, and <a class="el" href="classArServerBase.html#a439548c2e4aafea8e86d39af86a21b45">slowIdleCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="a23b4e214a05d368635e5f28e5adc5d45"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerBase::myAllowSlowPackets</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a3b5424c9529d3abf77f94e22473a923d">ArServerBase()</a>, <a class="el" href="classArServerBase.html#a467ff57fd9a36aaf019ec900d5a90eb2">finishAcceptingSocket()</a>, and <a class="el" href="classArServerBase.html#a439548c2e4aafea8e86d39af86a21b45">slowIdleCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="a9d8773676449666ece818e7c2cf42a5f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctorC.html">ArFunctorC</a>&lt;<a class="el" href="classArServerBase.html">ArServerBase</a>&gt; ArServerBase::myAriaExitCB</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a3b5424c9529d3abf77f94e22473a923d">ArServerBase()</a>.</p>

</div>
</div>
<a class="anchor" id="ad13e61cb8469c43056d2110877872495"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">double ArServerBase::myBackupTimeout</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a3b5424c9529d3abf77f94e22473a923d">ArServerBase()</a>, <a class="el" href="classArServerBase.html#a16ec2fa72a62caa7fd9a0da9fef6e45d">loopOnce()</a>, <a class="el" href="classArServerBase.html#a29ae4ea53e89fa21bd3f1c92845872aa">processFile()</a>, and <a class="el" href="classArServerBase.html#a0ccae95d99efbd843a2797c36cb3a2b1">setBackupTimeout()</a>.</p>

</div>
</div>
<a class="anchor" id="ad57d1d57e63b3d84c287a604cb45138f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html">ArMutex</a> ArServerBase::myBackupTimeoutMutex</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a3b5424c9529d3abf77f94e22473a923d">ArServerBase()</a>, <a class="el" href="classArServerBase.html#a16ec2fa72a62caa7fd9a0da9fef6e45d">loopOnce()</a>, and <a class="el" href="classArServerBase.html#a0ccae95d99efbd843a2797c36cb3a2b1">setBackupTimeout()</a>.</p>

</div>
</div>
<a class="anchor" id="aced44d6a2ba979c00a3970c1ef26c1f5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::list&lt;<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor1.html">ArFunctor1</a>&lt;<a class="el" href="classArServerClient.html">ArServerClient</a> *&gt; *&gt; ArServerBase::myClientRemovedCallbacks</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a5c10bb9e88f0152bcdfd4a69073c43a6">addClientRemovedCallback()</a>, <a class="el" href="classArServerBase.html#a16ec2fa72a62caa7fd9a0da9fef6e45d">loopOnce()</a>, and <a class="el" href="classArServerBase.html#a4214ab04ef0995e3edaba811d04b7e1a">remClientRemovedCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="ab9632551d8be729e00471415032c7994"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::list&lt;<a class="el" href="classArServerClient.html">ArServerClient</a> *&gt; ArServerBase::myClients</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a709cfe0356ecde312a8454f582fb26f6">broadcastPacketTcpByCommandWithExclusion()</a>, <a class="el" href="classArServerBase.html#a1951a33ebf82fd31a0c79d50d622215d">broadcastPacketUdpByCommandWithExclusion()</a>, <a class="el" href="classArServerBase.html#a72a4cff6dcdd01018f7c8c1f8361382c">close()</a>, <a class="el" href="classArServerBase.html#a5c960c6286e517f0e94936555f35a90d">closeConnectionID()</a>, <a class="el" href="classArServerBase.html#a467ff57fd9a36aaf019ec900d5a90eb2">finishAcceptingSocket()</a>, <a class="el" href="classArServerBase.html#a6d20aeb6f381406d73cf839201440be8">getFrequency()</a>, <a class="el" href="classArServerBase.html#a45a217e7e142d13a1c4f5a8ac85400ec">getRequestTransactionCount()</a>, <a class="el" href="classArServerBase.html#aa5914c55172f1b18bb60e8e8d3b513bd">identGetConnectionID()</a>, <a class="el" href="classArServerBase.html#ab41c873e1c445abbffd3eac467ec5410">logConnections()</a>, <a class="el" href="classArServerBase.html#afb2d9c6a8bad91e92862561f134c258b">logTracking()</a>, <a class="el" href="classArServerBase.html#a16ec2fa72a62caa7fd9a0da9fef6e45d">loopOnce()</a>, <a class="el" href="classArServerBase.html#a015990d3bc3b8a0135385b27bbaab02e">processPacket()</a>, <a class="el" href="classArServerBase.html#a368dd898ec3b6a40135b64798131a899">resetTracking()</a>, and <a class="el" href="classArServerBase.html#a439548c2e4aafea8e86d39af86a21b45">slowIdleCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="a83b6a5e1e8195fc20ffcd7827a975df5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html">ArMutex</a> ArServerBase::myClientsMutex</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a3b5424c9529d3abf77f94e22473a923d">ArServerBase()</a>, <a class="el" href="classArServerBase.html#a709cfe0356ecde312a8454f582fb26f6">broadcastPacketTcpByCommandWithExclusion()</a>, <a class="el" href="classArServerBase.html#a1951a33ebf82fd31a0c79d50d622215d">broadcastPacketUdpByCommandWithExclusion()</a>, <a class="el" href="classArServerBase.html#a72a4cff6dcdd01018f7c8c1f8361382c">close()</a>, <a class="el" href="classArServerBase.html#a5c960c6286e517f0e94936555f35a90d">closeConnectionID()</a>, <a class="el" href="classArServerBase.html#a467ff57fd9a36aaf019ec900d5a90eb2">finishAcceptingSocket()</a>, <a class="el" href="classArServerBase.html#a6d20aeb6f381406d73cf839201440be8">getFrequency()</a>, <a class="el" href="classArServerBase.html#a45a217e7e142d13a1c4f5a8ac85400ec">getRequestTransactionCount()</a>, <a class="el" href="classArServerBase.html#a278852754477a42e8edcca5075c42ae4">internalSetDefaultFrequency()</a>, <a class="el" href="classArServerBase.html#ab41c873e1c445abbffd3eac467ec5410">logConnections()</a>, <a class="el" href="classArServerBase.html#afb2d9c6a8bad91e92862561f134c258b">logTracking()</a>, <a class="el" href="classArServerBase.html#a16ec2fa72a62caa7fd9a0da9fef6e45d">loopOnce()</a>, <a class="el" href="classArServerBase.html#a015990d3bc3b8a0135385b27bbaab02e">processPacket()</a>, and <a class="el" href="classArServerBase.html#a368dd898ec3b6a40135b64798131a899">resetTracking()</a>.</p>

</div>
</div>
<a class="anchor" id="acaabe1912b811a4e9fcf3109a99d58a9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArTypes.html#af596f738ccf86d1fa8a64af52ea2f061">ArTypes::UByte4</a> ArServerBase::myConnectionNumber</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a3b5424c9529d3abf77f94e22473a923d">ArServerBase()</a>, and <a class="el" href="classArServerBase.html#aa5914c55172f1b18bb60e8e8d3b513bd">identGetConnectionID()</a>.</p>

</div>
</div>
<a class="anchor" id="a9de4ddb61dfcede3cfd4f7c3e7b53fba"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::list&lt;<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor.html">ArFunctor</a>*&gt; ArServerBase::myCycleCallbacks</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a1dd6a24a2047f58b072e81c0738422d5">addCycleCallback()</a>, <a class="el" href="classArServerBase.html#a16ec2fa72a62caa7fd9a0da9fef6e45d">loopOnce()</a>, and <a class="el" href="classArServerBase.html#a9a8f1105bdde4529d0bc19f3a18da7e1">remCycleCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="ad11655dc98f2e5b6c342459c9222c273"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html">ArMutex</a> ArServerBase::myCycleCallbacksMutex</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a1dd6a24a2047f58b072e81c0738422d5">addCycleCallback()</a>, <a class="el" href="classArServerBase.html#a3b5424c9529d3abf77f94e22473a923d">ArServerBase()</a>, <a class="el" href="classArServerBase.html#a16ec2fa72a62caa7fd9a0da9fef6e45d">loopOnce()</a>, and <a class="el" href="classArServerBase.html#a9a8f1105bdde4529d0bc19f3a18da7e1">remCycleCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="a67d80e1a21fb9d92368d11cc49d6afae"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::map&lt;unsigned int, <a class="el" href="classArServerData.html">ArServerData</a> *&gt; ArServerBase::myDataMap</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a6ab8869702eccf72ad8502b3017b9840">addDataAdvanced()</a>, <a class="el" href="classArServerBase.html#ae2370b5131dd1fa05f47fbe526954277">broadcastPacketTcpWithExclusion()</a>, <a class="el" href="classArServerBase.html#aaea911b004d1b352ee4657d756c69243">broadcastPacketUdpWithExclusion()</a>, <a class="el" href="classArServerBase.html#a72a4cff6dcdd01018f7c8c1f8361382c">close()</a>, <a class="el" href="classArServerBase.html#a3d2745c62afa1f8018081899ab038e25">dataHasFlagByCommand()</a>, <a class="el" href="classArServerBase.html#a13cb8349b522b278647f94573767021c">findCommandFromName()</a>, <a class="el" href="classArServerBase.html#a467ff57fd9a36aaf019ec900d5a90eb2">finishAcceptingSocket()</a>, <a class="el" href="classArServerBase.html#a278852754477a42e8edcca5075c42ae4">internalSetDefaultFrequency()</a>, <a class="el" href="classArServerBase.html#a62db28d742d2f2dceaa10d0fdb9da299">logCommandGroupsToFile()</a>, and <a class="el" href="classArServerBase.html#a015990d3bc3b8a0135385b27bbaab02e">processPacket()</a>.</p>

</div>
</div>
<a class="anchor" id="ac2247e67f623910f5d43181bbf7090b4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html">ArMutex</a> ArServerBase::myDataMutex</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a5c10bb9e88f0152bcdfd4a69073c43a6">addClientRemovedCallback()</a>, <a class="el" href="classArServerBase.html#a6ab8869702eccf72ad8502b3017b9840">addDataAdvanced()</a>, <a class="el" href="classArServerBase.html#a3b5424c9529d3abf77f94e22473a923d">ArServerBase()</a>, <a class="el" href="classArServerBase.html#ae2370b5131dd1fa05f47fbe526954277">broadcastPacketTcpWithExclusion()</a>, <a class="el" href="classArServerBase.html#aaea911b004d1b352ee4657d756c69243">broadcastPacketUdpWithExclusion()</a>, <a class="el" href="classArServerBase.html#a72a4cff6dcdd01018f7c8c1f8361382c">close()</a>, <a class="el" href="classArServerBase.html#a3d2745c62afa1f8018081899ab038e25">dataHasFlagByCommand()</a>, <a class="el" href="classArServerBase.html#a0bfde76563e86f09236bc31809efd3e5">enforceProtocolVersion()</a>, <a class="el" href="classArServerBase.html#af9b9e4b5dd3929151373665efd7ff167">enforceType()</a>, <a class="el" href="classArServerBase.html#a13cb8349b522b278647f94573767021c">findCommandFromName()</a>, <a class="el" href="classArServerBase.html#aa43bb720cd005e69475c67a7572eecf3">internalLockup()</a>, <a class="el" href="classArServerBase.html#a278852754477a42e8edcca5075c42ae4">internalSetDefaultFrequency()</a>, <a class="el" href="classArServerBase.html#aef5119d875e72544bb13957f0b0b5bfc">loadUserInfo()</a>, <a class="el" href="classArServerBase.html#a62db28d742d2f2dceaa10d0fdb9da299">logCommandGroupsToFile()</a>, <a class="el" href="classArServerBase.html#adefd07cf5208b66fb8fab1d1b53ec7a9">logGroupDescriptionsToFile()</a>, <a class="el" href="classArServerBase.html#ab9b40f639c195d97ed2948a1a0407988">logUserInfo()</a>, <a class="el" href="classArServerBase.html#a16ec2fa72a62caa7fd9a0da9fef6e45d">loopOnce()</a>, <a class="el" href="classArServerBase.html#a462af995dd55756db23209e03ed9c3a8">open()</a>, <a class="el" href="classArServerBase.html#a93979037994f6023ae80bc6048bd5c59">rejectSinceUsingCentralServer()</a>, <a class="el" href="classArServerBase.html#a4214ab04ef0995e3edaba811d04b7e1a">remClientRemovedCallback()</a>, <a class="el" href="classArServerBase.html#a368dd898ec3b6a40135b64798131a899">resetTracking()</a>, <a class="el" href="classArServerBase.html#ab2df17b8de70944c7b363ec6e42656a2">setAdditionalDataFlags()</a>, <a class="el" href="classArServerBase.html#a2ec8b52fe5c22e307719a474d904b01c">setGroupDescription()</a>, <a class="el" href="classArServerBase.html#a5588c63fcc5261c970459c3d4027e1a2">setServerKey()</a>, and <a class="el" href="classArServerBase.html#a30dfa01a6faee922e1d4863aa6c16f98">setUserInfo()</a>.</p>

</div>
</div>
<a class="anchor" id="a041efc205d20443b1aebebba41d82c5b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerBase::myDebugLogging</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a3b5424c9529d3abf77f94e22473a923d">ArServerBase()</a>, <a class="el" href="classArServerBase.html#a467ff57fd9a36aaf019ec900d5a90eb2">finishAcceptingSocket()</a>, <a class="el" href="classArServerBase.html#a52220fd0886d836402577107809ad51f">getDebugLogging()</a>, and <a class="el" href="classArServerBase.html#a8dc38ba7bb66c20415ee4598005a2b46">setDebugLogging()</a>.</p>

</div>
</div>
<a class="anchor" id="a0b7ecaa33750688fe5e2d854b78f7d16"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::map&lt;unsigned int, int&gt; ArServerBase::myDefaultFrequency</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a6d20aeb6f381406d73cf839201440be8">getFrequency()</a>, and <a class="el" href="classArServerBase.html#a278852754477a42e8edcca5075c42ae4">internalSetDefaultFrequency()</a>.</p>

</div>
</div>
<a class="anchor" id="ab07ced59df818eb7f60cb3c6a692bb7e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2C.html">ArFunctor2C</a>&lt;<a class="el" href="classArServerBase.html">ArServerBase</a>, <a class="el" href="classArServerClient.html">ArServerClient</a> *, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *&gt; ArServerBase::myEndRequestTransactionCB</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a3b5424c9529d3abf77f94e22473a923d">ArServerBase()</a>.</p>

</div>
</div>
<a class="anchor" id="a3fb547448e07db516b6233f70ac24c89"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string ArServerBase::myEnforceProtocolVersion</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a0bfde76563e86f09236bc31809efd3e5">enforceProtocolVersion()</a>, and <a class="el" href="classArServerBase.html#a467ff57fd9a36aaf019ec900d5a90eb2">finishAcceptingSocket()</a>.</p>

</div>
</div>
<a class="anchor" id="ae1c8c47760e6a336d3dad8f248be30ec"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArServerCommands.html#a17e8a1248f23b0f1dde4606af34b0efd">ArServerCommands::Type</a> ArServerBase::myEnforceType</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a3b5424c9529d3abf77f94e22473a923d">ArServerBase()</a>, <a class="el" href="classArServerBase.html#af9b9e4b5dd3929151373665efd7ff167">enforceType()</a>, and <a class="el" href="classArServerBase.html#a467ff57fd9a36aaf019ec900d5a90eb2">finishAcceptingSocket()</a>.</p>

</div>
</div>
<a class="anchor" id="a469c0add66d171732e993af7128dbfd1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRetFunctor2C.html">ArRetFunctor2C</a>&lt;long, <a class="el" href="classArServerBase.html">ArServerBase</a>, unsigned int, bool&gt; ArServerBase::myGetFrequencyCB</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a6ab8869702eccf72ad8502b3017b9840">addDataAdvanced()</a>.</p>

</div>
</div>
<a class="anchor" id="abd2f38396d763cd486a1dd6727b15608"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::map&lt;std::string, std::string&gt; ArServerBase::myGroupDescription</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>our mapping of the group names </p>

<p>Referenced by <a class="el" href="classArServerBase.html#a62db28d742d2f2dceaa10d0fdb9da299">logCommandGroupsToFile()</a>, <a class="el" href="classArServerBase.html#adefd07cf5208b66fb8fab1d1b53ec7a9">logGroupDescriptionsToFile()</a>, and <a class="el" href="classArServerBase.html#a2ec8b52fe5c22e307719a474d904b01c">setGroupDescription()</a>.</p>

</div>
</div>
<a class="anchor" id="adc7e004366ae82a0d981e05ba115a8dc"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerBase::myHaveIdleCallbacks</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#afa3b9a97e42df6d21c84facbf5885673">addIdleSingleShotCallback()</a>, <a class="el" href="classArServerBase.html#a3b5424c9529d3abf77f94e22473a923d">ArServerBase()</a>, <a class="el" href="classArServerBase.html#a6d797eebecb133853e22579a5b1544f4">hasIdleCallbacks()</a>, <a class="el" href="classArServerBase.html#a7d9a02741090f79facba801f4aed8856">idleProcessingPending()</a>, and <a class="el" href="classArServerBase.html#a439548c2e4aafea8e86d39af86a21b45">slowIdleCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="a41e39d292529dabdf535f59dc4f3e674"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerBase::myHaveIdlePackets</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a3b5424c9529d3abf77f94e22473a923d">ArServerBase()</a>, <a class="el" href="classArServerBase.html#a71e682291c58a4b4533a66af40c040cb">hasIdlePackets()</a>, <a class="el" href="classArServerBase.html#a7d9a02741090f79facba801f4aed8856">idleProcessingPending()</a>, and <a class="el" href="classArServerBase.html#a16ec2fa72a62caa7fd9a0da9fef6e45d">loopOnce()</a>.</p>

</div>
</div>
<a class="anchor" id="ad4d2dccce7ae0ee98e07925cae0dd323"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerBase::myHaveSlowPackets</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a3b5424c9529d3abf77f94e22473a923d">ArServerBase()</a>, <a class="el" href="classArServerBase.html#abc101ab867ef90bf859625b338d9978e">hasSlowPackets()</a>, and <a class="el" href="classArServerBase.html#a16ec2fa72a62caa7fd9a0da9fef6e45d">loopOnce()</a>.</p>

</div>
</div>
<a class="anchor" id="a22ab34ea2ff069987105d693bd6d3b8f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2C.html">ArFunctor2C</a>&lt;<a class="el" href="classArServerBase.html">ArServerBase</a>, <a class="el" href="classArServerClient.html">ArServerClient</a> *, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *&gt; ArServerBase::myIdentGetConnectionIDCB</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a3b5424c9529d3abf77f94e22473a923d">ArServerBase()</a>.</p>

</div>
</div>
<a class="anchor" id="a11ff6397e2bf60d3dbd535fd61efd37a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2C.html">ArFunctor2C</a>&lt;<a class="el" href="classArServerBase.html">ArServerBase</a>, <a class="el" href="classArServerClient.html">ArServerClient</a> *, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *&gt; ArServerBase::myIdentSetConnectionIDCB</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a3b5424c9529d3abf77f94e22473a923d">ArServerBase()</a>.</p>

</div>
</div>
<a class="anchor" id="abc15e369d60f9331de61b4508da6844c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2C.html">ArFunctor2C</a>&lt;<a class="el" href="classArServerBase.html">ArServerBase</a>, <a class="el" href="classArServerClient.html">ArServerClient</a> *, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *&gt; ArServerBase::myIdentSetHereGoalCB</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a3b5424c9529d3abf77f94e22473a923d">ArServerBase()</a>.</p>

</div>
</div>
<a class="anchor" id="a1c42b3804122d4dc86a3a16078a7cabb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2C.html">ArFunctor2C</a>&lt;<a class="el" href="classArServerBase.html">ArServerBase</a>, <a class="el" href="classArServerClient.html">ArServerClient</a> *, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *&gt; ArServerBase::myIdentSetSelfIdentifierCB</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a3b5424c9529d3abf77f94e22473a923d">ArServerBase()</a>.</p>

</div>
</div>
<a class="anchor" id="a500ccd4790811377f24342cd842f6aba"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::list&lt;<a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor.html">ArFunctor</a> *&gt; ArServerBase::myIdleCallbacks</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#afa3b9a97e42df6d21c84facbf5885673">addIdleSingleShotCallback()</a>, and <a class="el" href="classArServerBase.html#a439548c2e4aafea8e86d39af86a21b45">slowIdleCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="a420f29e1bde3af767d50b446d54dc774"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html">ArMutex</a> ArServerBase::myIdleCallbacksMutex</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#afa3b9a97e42df6d21c84facbf5885673">addIdleSingleShotCallback()</a>, <a class="el" href="classArServerBase.html#a3b5424c9529d3abf77f94e22473a923d">ArServerBase()</a>, and <a class="el" href="classArServerBase.html#a439548c2e4aafea8e86d39af86a21b45">slowIdleCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="adba944cf11a36da206c015516eeebbe6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2C.html">ArFunctor2C</a>&lt;<a class="el" href="classArServerBase.html">ArServerBase</a>, <a class="el" href="classArServerClient.html">ArServerClient</a> *, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *&gt; ArServerBase::myIdleProcessingPendingCB</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a3b5424c9529d3abf77f94e22473a923d">ArServerBase()</a>.</p>

</div>
</div>
<a class="anchor" id="a7d8846d8c7d966588301f8083bfe229a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerBase::myLastIdleProcessingPending</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a16ec2fa72a62caa7fd9a0da9fef6e45d">loopOnce()</a>.</p>

</div>
</div>
<a class="anchor" id="ab6d7ad593cea13fa555b899e21f791cb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerBase::myLogPasswordFailureVerbosely</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a3b5424c9529d3abf77f94e22473a923d">ArServerBase()</a>, and <a class="el" href="classArServerBase.html#a467ff57fd9a36aaf019ec900d5a90eb2">finishAcceptingSocket()</a>.</p>

</div>
</div>
<a class="anchor" id="a4ad3f93a32ffd325722cbb9e5ec3ca74"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string ArServerBase::myLogPrefix</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a3b5424c9529d3abf77f94e22473a923d">ArServerBase()</a>, <a class="el" href="classArServerBase.html#a72a4cff6dcdd01018f7c8c1f8361382c">close()</a>, <a class="el" href="classArServerBase.html#a5c960c6286e517f0e94936555f35a90d">closeConnectionID()</a>, <a class="el" href="classArServerBase.html#a0bfde76563e86f09236bc31809efd3e5">enforceProtocolVersion()</a>, <a class="el" href="classArServerBase.html#af9b9e4b5dd3929151373665efd7ff167">enforceType()</a>, <a class="el" href="classArServerBase.html#a467ff57fd9a36aaf019ec900d5a90eb2">finishAcceptingSocket()</a>, <a class="el" href="classArServerBase.html#aef5119d875e72544bb13957f0b0b5bfc">loadUserInfo()</a>, <a class="el" href="classArServerBase.html#ab9b40f639c195d97ed2948a1a0407988">logUserInfo()</a>, and <a class="el" href="classArServerBase.html#a462af995dd55756db23209e03ed9c3a8">open()</a>.</p>

</div>
</div>
<a class="anchor" id="ab38dd65802dbe9b96b62be5333d13e16"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int ArServerBase::myLoopMSecs</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a3b5424c9529d3abf77f94e22473a923d">ArServerBase()</a>, <a class="el" href="classArServerBase.html#a030cd022bba5ec1785cf40e50f3b7430">runThread()</a>, and <a class="el" href="classArServerBase.html#a439548c2e4aafea8e86d39af86a21b45">slowIdleCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="a3274c6dce2fe57bdf248a285aad7ae20"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int ArServerBase::myMaxClientsAllowed</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a3b5424c9529d3abf77f94e22473a923d">ArServerBase()</a>, and <a class="el" href="classArServerBase.html#a467ff57fd9a36aaf019ec900d5a90eb2">finishAcceptingSocket()</a>.</p>

</div>
</div>
<a class="anchor" id="a5e7e4d64f097d21d5901f91fdc3de5b3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int ArServerBase::myMostClients</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a3b5424c9529d3abf77f94e22473a923d">ArServerBase()</a>, <a class="el" href="classArServerBase.html#a206a8be118bc3ca5fe51ddfd138a37c5">getMostClients()</a>, <a class="el" href="classArServerBase.html#ab41c873e1c445abbffd3eac467ec5410">logConnections()</a>, and <a class="el" href="classArServerBase.html#a16ec2fa72a62caa7fd9a0da9fef6e45d">loopOnce()</a>.</p>

</div>
</div>
<a class="anchor" id="a704317ff8caeb7bdf892b7e13d1ca2cc"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerBase::myNewBackupTimeout</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a3b5424c9529d3abf77f94e22473a923d">ArServerBase()</a>, <a class="el" href="classArServerBase.html#a16ec2fa72a62caa7fd9a0da9fef6e45d">loopOnce()</a>, and <a class="el" href="classArServerBase.html#a0ccae95d99efbd843a2797c36cb3a2b1">setBackupTimeout()</a>.</p>

</div>
</div>
<a class="anchor" id="a996eb22298bc2d19ecfb3ec3929cc7fc"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int ArServerBase::myNextDataNumber</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a6ab8869702eccf72ad8502b3017b9840">addDataAdvanced()</a>, and <a class="el" href="classArServerBase.html#a3b5424c9529d3abf77f94e22473a923d">ArServerBase()</a>.</p>

</div>
</div>
<a class="anchor" id="a18170d67add932519ea770539f348447"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int ArServerBase::myNumClients</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a3b5424c9529d3abf77f94e22473a923d">ArServerBase()</a>, <a class="el" href="classArServerBase.html#a467ff57fd9a36aaf019ec900d5a90eb2">finishAcceptingSocket()</a>, <a class="el" href="classArServerBase.html#a555102cca19c7d085affbdf86221422c">getNumClients()</a>, <a class="el" href="classArServerBase.html#ac001c03c92e62cd94949dbfd12a6cbc4">internalSetNumClients()</a>, and <a class="el" href="classArServerBase.html#a16ec2fa72a62caa7fd9a0da9fef6e45d">loopOnce()</a>.</p>

</div>
</div>
<a class="anchor" id="a5f9e411bead858e98ec083cc1623ca87"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerBase::myOpened</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a3b5424c9529d3abf77f94e22473a923d">ArServerBase()</a>, <a class="el" href="classArServerBase.html#a709cfe0356ecde312a8454f582fb26f6">broadcastPacketTcpByCommandWithExclusion()</a>, <a class="el" href="classArServerBase.html#a1951a33ebf82fd31a0c79d50d622215d">broadcastPacketUdpByCommandWithExclusion()</a>, <a class="el" href="classArServerBase.html#a72a4cff6dcdd01018f7c8c1f8361382c">close()</a>, <a class="el" href="classArServerBase.html#a16ec2fa72a62caa7fd9a0da9fef6e45d">loopOnce()</a>, <a class="el" href="classArServerBase.html#a462af995dd55756db23209e03ed9c3a8">open()</a>, and <a class="el" href="classArServerBase.html#a439548c2e4aafea8e86d39af86a21b45">slowIdleCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="a9cb608ba1bd7a7da14bef63a2ab27106"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string ArServerBase::myOpenOnIP</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a901ba41d3054ff06210bb65fc6453cc9">getOpenOnIP()</a>, and <a class="el" href="classArServerBase.html#a462af995dd55756db23209e03ed9c3a8">open()</a>.</p>

</div>
</div>
<a class="anchor" id="ab6d15e588da01c6b2184b285f9e8c168"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRetFunctorC.html">ArRetFunctorC</a>&lt;bool, <a class="el" href="classArServerBase.html">ArServerBase</a>&gt; ArServerBase::myProcessFileCB</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a3b5424c9529d3abf77f94e22473a923d">ArServerBase()</a>.</p>

</div>
</div>
<a class="anchor" id="a8d023b1f58396af8c0a28c00c234e7d3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html">ArMutex</a> ArServerBase::myProcessingSlowIdleMutex</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a3b5424c9529d3abf77f94e22473a923d">ArServerBase()</a>, <a class="el" href="classArServerBase.html#a16ec2fa72a62caa7fd9a0da9fef6e45d">loopOnce()</a>, and <a class="el" href="classArServerBase.html#a439548c2e4aafea8e86d39af86a21b45">slowIdleCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="a02a993b40acbdc05d1ac4bba209b2d14"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2C.html">ArFunctor2C</a>&lt;<a class="el" href="classArServerBase.html">ArServerBase</a>, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *, struct sockaddr_in *&gt; ArServerBase::myProcessPacketCB</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a3b5424c9529d3abf77f94e22473a923d">ArServerBase()</a>.</p>

</div>
</div>
<a class="anchor" id="a0dfc54197bac69f72eb624011a43db57"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int ArServerBase::myRejecting</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a3b5424c9529d3abf77f94e22473a923d">ArServerBase()</a>, <a class="el" href="classArServerBase.html#a467ff57fd9a36aaf019ec900d5a90eb2">finishAcceptingSocket()</a>, and <a class="el" href="classArServerBase.html#a93979037994f6023ae80bc6048bd5c59">rejectSinceUsingCentralServer()</a>.</p>

</div>
</div>
<a class="anchor" id="aada417ac984bdbc5c85cf8cab437c3e0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string ArServerBase::myRejectingString</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a467ff57fd9a36aaf019ec900d5a90eb2">finishAcceptingSocket()</a>, and <a class="el" href="classArServerBase.html#a93979037994f6023ae80bc6048bd5c59">rejectSinceUsingCentralServer()</a>.</p>

</div>
</div>
<a class="anchor" id="a0806db59a69a2432c51131b9ca917222"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::set&lt;<a class="el" href="classArServerClient.html">ArServerClient</a> *&gt; ArServerBase::myRemoveSet</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a5c960c6286e517f0e94936555f35a90d">closeConnectionID()</a>, <a class="el" href="classArServerBase.html#a16ec2fa72a62caa7fd9a0da9fef6e45d">loopOnce()</a>, and <a class="el" href="classArServerBase.html#a439548c2e4aafea8e86d39af86a21b45">slowIdleCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="a132a7eee004a6a29db7b8add4151d69d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArMutex.html">ArMutex</a> ArServerBase::myRemoveSetMutex</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a3b5424c9529d3abf77f94e22473a923d">ArServerBase()</a>, <a class="el" href="classArServerBase.html#a5c960c6286e517f0e94936555f35a90d">closeConnectionID()</a>, <a class="el" href="classArServerBase.html#a16ec2fa72a62caa7fd9a0da9fef6e45d">loopOnce()</a>, and <a class="el" href="classArServerBase.html#a439548c2e4aafea8e86d39af86a21b45">slowIdleCallback()</a>.</p>

</div>
</div>
<a class="anchor" id="a52518b0de02d87df66a85f1656293ddc"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArRetFunctor2C.html">ArRetFunctor2C</a>&lt;bool, <a class="el" href="classArServerBase.html">ArServerBase</a>, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *, struct sockaddr_in *&gt; ArServerBase::mySendUdpCB</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a467ff57fd9a36aaf019ec900d5a90eb2">finishAcceptingSocket()</a>.</p>

</div>
</div>
<a class="anchor" id="a4431d2cc2bb30a7bad7917b69e2655f1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string ArServerBase::myServerKey</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a467ff57fd9a36aaf019ec900d5a90eb2">finishAcceptingSocket()</a>, and <a class="el" href="classArServerBase.html#a5588c63fcc5261c970459c3d4027e1a2">setServerKey()</a>.</p>

</div>
</div>
<a class="anchor" id="a5ae5da090806634815d6fae6d1cf3f99"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string ArServerBase::myServerName</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a3b5424c9529d3abf77f94e22473a923d">ArServerBase()</a>, <a class="el" href="classArServerBase.html#a467ff57fd9a36aaf019ec900d5a90eb2">finishAcceptingSocket()</a>, <a class="el" href="classArServerBase.html#aa43bb720cd005e69475c67a7572eecf3">internalLockup()</a>, <a class="el" href="classArServerBase.html#a278852754477a42e8edcca5075c42ae4">internalSetDefaultFrequency()</a>, and <a class="el" href="classArServerBase.html#ab41c873e1c445abbffd3eac467ec5410">logConnections()</a>.</p>

</div>
</div>
<a class="anchor" id="a2228b9f45f9af3ffbc1ce4d2df7cd08d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArServerBase_1_1SlowIdleThread.html">SlowIdleThread</a>* ArServerBase::mySlowIdleThread</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a3b5424c9529d3abf77f94e22473a923d">ArServerBase()</a>, <a class="el" href="classArServerBase.html#a18394abe320270495f109e7c0f87df87">sleepAfterSend()</a>, and <a class="el" href="classArServerBase.html#a9654db575351b18c10a08729d9fda1ce">~ArServerBase()</a>.</p>

</div>
</div>
<a class="anchor" id="af69d0afca33e797304b58248c553a3ee"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArFunctor2C.html">ArFunctor2C</a>&lt;<a class="el" href="classArServerBase.html">ArServerBase</a>, <a class="el" href="classArServerClient.html">ArServerClient</a> *, <a class="el" href="classArNetPacket.html">ArNetPacket</a> *&gt; ArServerBase::myStartRequestTransactionCB</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a3b5424c9529d3abf77f94e22473a923d">ArServerBase()</a>.</p>

</div>
</div>
<a class="anchor" id="a81026f3d5481b6e6cf74e3d7632ecb51"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerBase::myTcpOnly</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a72a4cff6dcdd01018f7c8c1f8361382c">close()</a>, <a class="el" href="classArServerBase.html#a16ec2fa72a62caa7fd9a0da9fef6e45d">loopOnce()</a>, and <a class="el" href="classArServerBase.html#a462af995dd55756db23209e03ed9c3a8">open()</a>.</p>

</div>
</div>
<a class="anchor" id="a80134d6000d350b981848f360bdac786"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int ArServerBase::myTcpPort</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a3b5424c9529d3abf77f94e22473a923d">ArServerBase()</a>, <a class="el" href="classArServerBase.html#ad2baa7f9e5d3d62361084f458c9e1c0b">getTcpPort()</a>, and <a class="el" href="classArServerBase.html#a462af995dd55756db23209e03ed9c3a8">open()</a>.</p>

</div>
</div>
<a class="anchor" id="a02816b3969fe21b6e90b14f1da0fc69e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html">ArSocket</a> ArServerBase::myTcpSocket</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#af1d003d3aca3e9697d913a450cc8a35c">acceptTcpSockets()</a>, <a class="el" href="classArServerBase.html#a72a4cff6dcdd01018f7c8c1f8361382c">close()</a>, and <a class="el" href="classArServerBase.html#a462af995dd55756db23209e03ed9c3a8">open()</a>.</p>

</div>
</div>
<a class="anchor" id="a908a450a8044c52a7da7441fd35a7dff"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArTimeChecker.html">ArTimeChecker</a> ArServerBase::myTimeChecker</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a3b5424c9529d3abf77f94e22473a923d">ArServerBase()</a>, and <a class="el" href="classArServerBase.html#a16ec2fa72a62caa7fd9a0da9fef6e45d">loopOnce()</a>.</p>

</div>
</div>
<a class="anchor" id="a0d52a28c6ba5c6a87b46a84de0fec050"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArCallbackList1.html">ArCallbackList1</a>&lt;const char *&gt; ArServerBase::myTooManyClientsCBList</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#ae83d192ad0c7765050e4b4986ce36377">addTooManyClientsCB()</a>, <a class="el" href="classArServerBase.html#a467ff57fd9a36aaf019ec900d5a90eb2">finishAcceptingSocket()</a>, and <a class="el" href="classArServerBase.html#a3403e9c34e6d6fe82e2397471caf95b8">remTooManyClientsCB()</a>.</p>

</div>
</div>
<a class="anchor" id="a4db94b5e00ee733fbcae8f1d065d79fc"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int ArServerBase::myUdpPort</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a3b5424c9529d3abf77f94e22473a923d">ArServerBase()</a>, <a class="el" href="classArServerBase.html#a467ff57fd9a36aaf019ec900d5a90eb2">finishAcceptingSocket()</a>, <a class="el" href="classArServerBase.html#a554da8cc36f349f4b452d1c551de5d78">getUdpPort()</a>, and <a class="el" href="classArServerBase.html#a462af995dd55756db23209e03ed9c3a8">open()</a>.</p>

</div>
</div>
<a class="anchor" id="ab18c9fda663fc7c9114ce240068a0ee0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArNetPacketReceiverUdp.html">ArNetPacketReceiverUdp</a> ArServerBase::myUdpReceiver</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a3b5424c9529d3abf77f94e22473a923d">ArServerBase()</a>, <a class="el" href="classArServerBase.html#a16ec2fa72a62caa7fd9a0da9fef6e45d">loopOnce()</a>, and <a class="el" href="classArServerBase.html#a462af995dd55756db23209e03ed9c3a8">open()</a>.</p>

</div>
</div>
<a class="anchor" id="a8c90e25a8e7148058d0598f3a6b1c0aa"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArSocket.html">ArSocket</a> ArServerBase::myUdpSocket</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a72a4cff6dcdd01018f7c8c1f8361382c">close()</a>, <a class="el" href="classArServerBase.html#afb2d9c6a8bad91e92862561f134c258b">logTracking()</a>, <a class="el" href="classArServerBase.html#a462af995dd55756db23209e03ed9c3a8">open()</a>, <a class="el" href="classArServerBase.html#a368dd898ec3b6a40135b64798131a899">resetTracking()</a>, and <a class="el" href="classArServerBase.html#ad5b3e00acc395d2f778d3c48494b6044">sendUdp()</a>.</p>

</div>
</div>
<a class="anchor" id="a28dda2d862dfe56a22591d1602c89c31"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classArServerUserInfo.html">ArServerUserInfo</a>* ArServerBase::myUserInfo</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a3b5424c9529d3abf77f94e22473a923d">ArServerBase()</a>, <a class="el" href="classArServerBase.html#a467ff57fd9a36aaf019ec900d5a90eb2">finishAcceptingSocket()</a>, <a class="el" href="classArServerBase.html#ab3729141deeb6dfd667eff708c32aee6">getUserInfo()</a>, <a class="el" href="classArServerBase.html#aef5119d875e72544bb13957f0b0b5bfc">loadUserInfo()</a>, <a class="el" href="classArServerBase.html#ab9b40f639c195d97ed2948a1a0407988">logUserInfo()</a>, and <a class="el" href="classArServerBase.html#a30dfa01a6faee922e1d4863aa6c16f98">setUserInfo()</a>.</p>

</div>
</div>
<a class="anchor" id="ab377c9e75be9412af479f386121e8f4c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool ArServerBase::myUsingOwnNumClients</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#a3b5424c9529d3abf77f94e22473a923d">ArServerBase()</a>, <a class="el" href="classArServerBase.html#ac001c03c92e62cd94949dbfd12a6cbc4">internalSetNumClients()</a>, and <a class="el" href="classArServerBase.html#a16ec2fa72a62caa7fd9a0da9fef6e45d">loopOnce()</a>.</p>

</div>
</div>
<a class="anchor" id="a534bb41c6853fd50aaaf3bbd7aff539b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="/home/reed/amrsw/Aria/docs/Aria.tag:../../docs/" href="../../docs/classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3">ArLog::LogLevel</a> ArServerBase::myVerboseLogLevel</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Referenced by <a class="el" href="classArServerBase.html#afa3b9a97e42df6d21c84facbf5885673">addIdleSingleShotCallback()</a>, <a class="el" href="classArServerBase.html#a3b5424c9529d3abf77f94e22473a923d">ArServerBase()</a>, <a class="el" href="classArServerBase.html#ae2370b5131dd1fa05f47fbe526954277">broadcastPacketTcpWithExclusion()</a>, <a class="el" href="classArServerBase.html#aaea911b004d1b352ee4657d756c69243">broadcastPacketUdpWithExclusion()</a>, <a class="el" href="classArServerBase.html#a13cb8349b522b278647f94573767021c">findCommandFromName()</a>, <a class="el" href="classArServerBase.html#a467ff57fd9a36aaf019ec900d5a90eb2">finishAcceptingSocket()</a>, <a class="el" href="classArServerBase.html#a8dc38ba7bb66c20415ee4598005a2b46">setDebugLogging()</a>, and <a class="el" href="classArServerBase.html#a439548c2e4aafea8e86d39af86a21b45">slowIdleCallback()</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="ArServerBase_8h.html">ArServerBase.h</a></li>
<li><a class="el" href="ArServerBase_8cpp.html">ArServerBase.cpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="classArServerBase.html">ArServerBase</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
  </ul>
</div>
</body>
</html>
